ooo-build r14713 - in trunk: . patches/dev300
- From: noelpwer svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r14713 - in trunk: . patches/dev300
- Date: Wed, 3 Dec 2008 17:27:15 +0000 (UTC)
Author: noelpwer
Date: Wed Dec 3 17:27:15 2008
New Revision: 14713
URL: http://svn.gnome.org/viewvc/ooo-build?rev=14713&view=rev
Log:
2008-12-03 Noel Power <noel power novell com>
* patches/dev300/apply: add fix below for i96858
* patches/dev300/fix-shape-export-i96858.diff:
Added:
trunk/patches/dev300/fix-shape-export-i96858.diff
Modified:
trunk/ChangeLog
trunk/patches/dev300/apply
Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply (original)
+++ trunk/patches/dev300/apply Wed Dec 3 17:27:15 2008
@@ -1579,9 +1579,10 @@
# core changes not yet upstream
sc-source-ui-vba-makefile-mk.diff
+# fix nasty corruption of rountriped excel documents with shapes
+fix-shape-export-i96858.diff, i#96858
# export of macro bindings for shapes
sc-export-shape-macro-bindings.diff, n#304739, noelpwer
-
# export of hlink bindings for shapes
sc-export-shape-hlink-bindings.diff, n#304739, noelpwer
Added: trunk/patches/dev300/fix-shape-export-i96858.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/fix-shape-export-i96858.diff Wed Dec 3 17:27:15 2008
@@ -0,0 +1,87 @@
+diff --git sc/source/filter/excel/xiescher.cxx sc/source/filter/excel/xiescher.cxx
+index b19de94..52eb449 100644
+--- sc/source/filter/excel/xiescher.cxx
++++ sc/source/filter/excel/xiescher.cxx
+@@ -1416,41 +1416,49 @@ void XclImpTextObj::DoProcessSdrObj( SdrObject& rSdrObj ) const
+ // plain text
+ pTextObj->NbcSetText( maTextData.mxString->GetText() );
+ }
+- }
+-
+- // horizontal text alignment
+- SvxAdjust eHorAlign = SVX_ADJUST_LEFT;
+- switch( maTextData.maData.GetHorAlign() )
+- {
+- case EXC_OBJ_HOR_LEFT: eHorAlign = SVX_ADJUST_LEFT; break;
+- case EXC_OBJ_HOR_CENTER: eHorAlign = SVX_ADJUST_CENTER; break;
+- case EXC_OBJ_HOR_RIGHT: eHorAlign = SVX_ADJUST_RIGHT; break;
+- case EXC_OBJ_HOR_JUSTIFY: eHorAlign = SVX_ADJUST_BLOCK; break;
+- }
+- rSdrObj.SetMergedItem( SvxAdjustItem( eHorAlign, EE_PARA_JUST ) );
+
+- // vertical text alignment
+- SdrTextVertAdjust eVerAlign = SDRTEXTVERTADJUST_TOP;
+- switch( maTextData.maData.GetVerAlign() )
+- {
+- case EXC_OBJ_VER_TOP: eVerAlign = SDRTEXTVERTADJUST_TOP; break;
+- case EXC_OBJ_VER_CENTER: eVerAlign = SDRTEXTVERTADJUST_CENTER; break;
+- case EXC_OBJ_VER_BOTTOM: eVerAlign = SDRTEXTVERTADJUST_BOTTOM; break;
+- case EXC_OBJ_VER_JUSTIFY: eVerAlign = SDRTEXTVERTADJUST_BLOCK; break;
+- }
+- rSdrObj.SetMergedItem( SdrTextVertAdjustItem( eVerAlign ) );
+-
+- // orientation (this is only a fake, drawing does not support real text orientation)
+- namespace csst = ::com::sun::star::text;
+- csst::WritingMode eWriteMode = csst::WritingMode_LR_TB;
+- switch( maTextData.maData.mnOrient )
+- {
+- case EXC_OBJ_ORIENT_NONE: eWriteMode = csst::WritingMode_LR_TB; break;
+- case EXC_OBJ_ORIENT_STACKED: eWriteMode = csst::WritingMode_TB_RL; break;
+- case EXC_OBJ_ORIENT_90CCW: eWriteMode = csst::WritingMode_TB_RL; break;
+- case EXC_OBJ_ORIENT_90CW: eWriteMode = csst::WritingMode_TB_RL; break;
++ // horizontal text alignment
++ SvxAdjust eHorAlign = SVX_ADJUST_LEFT;
++ switch( maTextData.maData.GetHorAlign() )
++ {
++ case EXC_OBJ_HOR_LEFT: eHorAlign = SVX_ADJUST_LEFT; break;
++ case EXC_OBJ_HOR_CENTER: eHorAlign = SVX_ADJUST_CENTER; break;
++ case EXC_OBJ_HOR_RIGHT: eHorAlign = SVX_ADJUST_RIGHT; break;
++ case EXC_OBJ_HOR_JUSTIFY: eHorAlign = SVX_ADJUST_BLOCK; break;
++ }
++ rSdrObj.SetMergedItem( SvxAdjustItem( eHorAlign, EE_PARA_JUST ) );
++
++ // vertical text alignment
++ SdrTextVertAdjust eVerAlign = SDRTEXTVERTADJUST_TOP;
++ switch( maTextData.maData.GetVerAlign() )
++ {
++ case EXC_OBJ_VER_TOP: eVerAlign = SDRTEXTVERTADJUST_TOP; break;
++ case EXC_OBJ_VER_CENTER: eVerAlign = SDRTEXTVERTADJUST_CENTER; break;
++ case EXC_OBJ_VER_BOTTOM: eVerAlign = SDRTEXTVERTADJUST_BOTTOM; break;
++ case EXC_OBJ_VER_JUSTIFY: eVerAlign = SDRTEXTVERTADJUST_BLOCK; break;
++ }
++ rSdrObj.SetMergedItem( SdrTextVertAdjustItem( eVerAlign ) );
++
++ // orientation (this is only a fake, drawing does not support real text orientation)
++ namespace csst = ::com::sun::star::text;
++ csst::WritingMode eWriteMode = csst::WritingMode_LR_TB;
++ switch( maTextData.maData.mnOrient )
++ {
++ case EXC_OBJ_ORIENT_NONE: eWriteMode = csst::WritingMode_LR_TB; break;
++ case EXC_OBJ_ORIENT_STACKED: eWriteMode = csst::WritingMode_TB_RL; break;
++ case EXC_OBJ_ORIENT_90CCW: eWriteMode = csst::WritingMode_TB_RL; break;
++ case EXC_OBJ_ORIENT_90CW: eWriteMode = csst::WritingMode_TB_RL; break;
++ }
++ rSdrObj.SetMergedItem( SvxWritingModeItem( eWriteMode, SDRATTR_TEXTDIRECTION ) );
+ }
+- rSdrObj.SetMergedItem( SvxWritingModeItem( eWriteMode, SDRATTR_TEXTDIRECTION ) );
++ // SdrObjCustomShape::SetVerticalWriting ( initiated from above ) calls
++ // SdrTextObj::ForceOutlinerParaObject which ensures that we can erroneously
++ // write a ClientTextbox record ( with no content ) which can cause a
++ // corrupted exported document.
++ // this hack ( or is it a reasonable solution ) doesn't set any text attributes
++ // for the drawing object if there is no text
++
++
+ }
+ // base class processing
+ XclImpRectObj::DoProcessSdrObj( rSdrObj );
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]