openoffice-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r1539657 [45/50] - in /openoffice/branches/alg/aw080: ./ ext_sources/ extras/l10n/source/ast/ extras/l10n/source/bg/ extras/l10n/source/cs/ extras/l10n/source/da/ extras/l10n/source/de/ extras/l10n/source/el/ extras/l10n/source/en-GB/ extra...
Date Thu, 07 Nov 2013 14:30:09 GMT
Modified: openoffice/branches/alg/aw080/main/svtools/source/filter/wmf/winmtf.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svtools/source/filter/wmf/winmtf.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svtools/source/filter/wmf/winmtf.hxx (original)
+++ openoffice/branches/alg/aw080/main/svtools/source/filter/wmf/winmtf.hxx Thu Nov  7 14:29:41 2013
@@ -68,6 +68,7 @@
 #define MWT_IDENTITY			1
 #define MWT_LEFTMULTIPLY		2
 #define MWT_RIGHTMULTIPLY		3
+#define MWT_SET                 4
 
 #define ENHMETA_STOCK_OBJECT    0x80000000
 

Modified: openoffice/branches/alg/aw080/main/svtools/source/filter/wmf/wmf.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svtools/source/filter/wmf/wmf.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svtools/source/filter/wmf/wmf.cxx (original)
+++ openoffice/branches/alg/aw080/main/svtools/source/filter/wmf/wmf.cxx Thu Nov  7 14:29:41 2013
@@ -50,6 +50,13 @@ sal_Bool ConvertWMFToGDIMetaFile( SvStre
 	{
 		WMFReader( rStreamWMF, rGDIMetaFile, pConfigItem ).ReadWMF();
 	}
+
+#ifdef DBG_UTIL
+    // #123216# allow a look at CheckSum and ByteSize for debugging
+    const sal_uLong aC(rGDIMetaFile.GetChecksum());
+    const sal_uLong aB(rGDIMetaFile.GetSizeBytes());
+#endif
+
 	rStreamWMF.SetNumberFormatInt( nOrigNumberFormat );
 	return !rStreamWMF.GetError();
 }

Modified: openoffice/branches/alg/aw080/main/svtools/source/graphic/grfmgr.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svtools/source/graphic/grfmgr.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svtools/source/graphic/grfmgr.cxx (original)
+++ openoffice/branches/alg/aw080/main/svtools/source/graphic/grfmgr.cxx Thu Nov  7 14:29:41 2013
@@ -942,23 +942,25 @@ Graphic GraphicObject::GetTransformedGra
 
         if( aMapGraph == MAP_PIXEL )
         {
-            aCropLeftTop = Application::GetDefaultDevice()->LogicToPixel( Size( rAttr.GetLeftCrop(),
-                                                                                rAttr.GetTopCrop() ),
-                                                                          aMap100 );
-            aCropRightBottom = Application::GetDefaultDevice()->LogicToPixel( Size( rAttr.GetRightCrop(),
-                                                                                    rAttr.GetBottomCrop() ),
-                                                                              aMap100 );
+            // crops are in 1/100th mm -> to aMapGraph -> to MAP_PIXEL
+            aCropLeftTop = Application::GetDefaultDevice()->LogicToPixel( 
+                Size(rAttr.GetLeftCrop(), rAttr.GetTopCrop()), 
+                aMap100);
+            aCropRightBottom = Application::GetDefaultDevice()->LogicToPixel( 
+                Size(rAttr.GetRightCrop(), rAttr.GetBottomCrop()),
+                aMap100);
         }
         else
         {
-            aCropLeftTop = OutputDevice::LogicToLogic( Size( rAttr.GetLeftCrop(),
-                                                             rAttr.GetTopCrop() ),
-                                                       aMap100,
-                                                       aMapGraph );
-            aCropRightBottom = OutputDevice::LogicToLogic( Size( rAttr.GetRightCrop(),
-                                                                 rAttr.GetBottomCrop() ),
-                                                           aMap100,
-                                                           aMapGraph );
+            // crops are in GraphicObject units -> to aMapGraph
+            aCropLeftTop = OutputDevice::LogicToLogic(
+                Size(rAttr.GetLeftCrop(), rAttr.GetTopCrop()),
+                aMap100,
+                aMapGraph);
+            aCropRightBottom = OutputDevice::LogicToLogic( 
+                Size(rAttr.GetRightCrop(), rAttr.GetBottomCrop()),
+                aMap100,
+                aMapGraph);
         }
 
         // #104115# If the metafile is cropped, give it a special
@@ -1008,15 +1010,29 @@ Graphic GraphicObject::GetTransformedGra
         BitmapEx aBitmapEx( aTransGraphic.GetBitmapEx() );
         Rectangle aCropRect;
 
-        // convert crops to pixel (crops are always in GraphicObject units)
+        // convert crops to pixel
         if(rAttr.IsCropped())
         {
-            aCropLeftTop = Application::GetDefaultDevice()->LogicToPixel( 
-                Size(rAttr.GetLeftCrop(), rAttr.GetTopCrop()),
-                aMapGraph);
-            aCropRightBottom = Application::GetDefaultDevice()->LogicToPixel( 
-                Size(rAttr.GetRightCrop(), rAttr.GetBottomCrop()),
-                aMapGraph);
+            if( aMapGraph == MAP_PIXEL )
+            {
+                // crops are in 1/100th mm -> to MAP_PIXEL
+                aCropLeftTop = Application::GetDefaultDevice()->LogicToPixel( 
+                    Size(rAttr.GetLeftCrop(), rAttr.GetTopCrop()),
+                    aMap100);
+                aCropRightBottom = Application::GetDefaultDevice()->LogicToPixel( 
+                    Size(rAttr.GetRightCrop(), rAttr.GetBottomCrop()),
+                    aMap100);
+            }
+            else
+            {
+                // crops are in GraphicObject units -> to MAP_PIXEL
+                aCropLeftTop = Application::GetDefaultDevice()->LogicToPixel( 
+                    Size(rAttr.GetLeftCrop(), rAttr.GetTopCrop()),
+                    aMapGraph);
+                aCropRightBottom = Application::GetDefaultDevice()->LogicToPixel( 
+                    Size(rAttr.GetRightCrop(), rAttr.GetBottomCrop()),
+                    aMapGraph);
+            }
 
             // convert from prefmapmode to pixel
             Size aSrcSizePixel(
@@ -1036,8 +1052,9 @@ Graphic GraphicObject::GetTransformedGra
 
                 // another possibility is to adapt the values created so far with a factor; this
                 // will keep the original Bitmap untouched and thus quality will not change
-                const double fFactorX(aBitmapEx.GetSizePixel().Width() / aSrcSizePixel.Width());
-                const double fFactorY(aBitmapEx.GetSizePixel().Height() / aSrcSizePixel.Height());
+                // caution: convert to double first, else pretty big errors may occurr
+                const double fFactorX((double)aBitmapEx.GetSizePixel().Width() / aSrcSizePixel.Width());
+                const double fFactorY((double)aBitmapEx.GetSizePixel().Height() / aSrcSizePixel.Height());
 
                 aCropLeftTop.Width() = basegfx::fround(aCropLeftTop.Width() * fFactorX);
                 aCropLeftTop.Height() = basegfx::fround(aCropLeftTop.Height() * fFactorY);

Modified: openoffice/branches/alg/aw080/main/svtools/source/misc/transfer.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svtools/source/misc/transfer.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svtools/source/misc/transfer.cxx (original)
+++ openoffice/branches/alg/aw080/main/svtools/source/misc/transfer.cxx Thu Nov  7 14:29:41 2013
@@ -1808,6 +1808,7 @@ sal_Bool TransferableDataHelper::GetBitm
     SotStorageStreamRef xStm;
     DataFlavor aSubstFlavor;
     bool bRet(GetSotStorageStream(rFlavor, xStm));
+    bool bSuppressPNG(false); // #122982# If PNG stream not accessed, but BMP one, suppress trying to load PNG
 
     if(!bRet && HasFormat(SOT_FORMATSTR_ID_PNG) && SotExchange::GetFormatDataFlavor(SOT_FORMATSTR_ID_PNG, aSubstFlavor))
     {
@@ -1819,18 +1820,20 @@ sal_Bool TransferableDataHelper::GetBitm
     {
         // when no direct success, try if BMP is available
         bRet = GetSotStorageStream(aSubstFlavor, xStm);
+        bSuppressPNG = bRet;
     }
 
     if(bRet)
     {
-        if(rFlavor.MimeType.equalsIgnoreAsciiCase(::rtl::OUString::createFromAscii("image/png")))
+        if(!bSuppressPNG && rFlavor.MimeType.equalsIgnoreAsciiCase(::rtl::OUString::createFromAscii("image/png")))
         {
             // it's a PNG, import to BitmapEx
             ::vcl::PNGReader aPNGReader(*xStm);
 
             rBmpEx = aPNGReader.Read();
         }
-        else
+
+        if(rBmpEx.IsEmpty())
         {
             Bitmap aBitmap;
             Bitmap aMask;
@@ -1848,7 +1851,7 @@ sal_Bool TransferableDataHelper::GetBitm
             }
         }
 
-        bRet = (ERRCODE_NONE == xStm->GetError());
+        bRet = (ERRCODE_NONE == xStm->GetError() && !rBmpEx.IsEmpty());
 
         /* SJ: #110748# At the moment we are having problems with DDB inserted as DIB. The
            problem is, that some graphics are inserted much too big because the nXPelsPerMeter

Modified: openoffice/branches/alg/aw080/main/svx/inc/svx/fillctrl.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/inc/svx/fillctrl.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/inc/svx/fillctrl.hxx (original)
+++ openoffice/branches/alg/aw080/main/svx/inc/svx/fillctrl.hxx Thu Nov  7 14:29:41 2013
@@ -58,7 +58,6 @@ private:
 	SvxFillAttrBox*		pFillAttrLB;
 
 	sal_Bool				bUpdate;
-    sal_Bool                bIgnoreStatusUpdate;
 	sal_uInt16				eLastXFS;
 
 public:
@@ -71,7 +70,6 @@ public:
 									  const SfxPoolItem* pState );
 	void 		        Update( const SfxPoolItem* pState );
 	virtual Window*		CreateItemWindow( Window *pParent );
-    void                IgnoreStatusUpdate( sal_Bool bSet );
 };
 
 //========================================================================

Modified: openoffice/branches/alg/aw080/main/svx/inc/svx/sdr/properties/customshapeproperties.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/inc/svx/sdr/properties/customshapeproperties.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/inc/svx/sdr/properties/customshapeproperties.hxx (original)
+++ openoffice/branches/alg/aw080/main/svx/inc/svx/sdr/properties/customshapeproperties.hxx Thu Nov  7 14:29:41 2013
@@ -34,7 +34,8 @@ namespace sdr
 	{
 		class CustomShapeProperties : public TextProperties
 		{
-			void UpdateTextFrameStatus();
+        private:
+			void UpdateTextFrameStatus(bool bInvalidateRenderGeometry);
 
 		protected:
 			// create a new itemset
@@ -53,7 +54,7 @@ namespace sdr
 			// specific item changes
 			virtual void PostItemChange(const sal_uInt16 nWhich);
 
-            // clear single item
+			// clear single item
 			virtual void ClearObjectItem(const sal_uInt16 nWhich = 0);
 
 			// clear single item direct, do not do any notifies or things like that.

Modified: openoffice/branches/alg/aw080/main/svx/inc/svx/sdrundomanager.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/inc/svx/sdrundomanager.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/inc/svx/sdrundomanager.hxx (original)
+++ openoffice/branches/alg/aw080/main/svx/inc/svx/sdrundomanager.hxx Thu Nov  7 14:29:41 2013
@@ -51,6 +51,9 @@ public:
     virtual sal_Bool Undo();
     virtual sal_Bool Redo();
 
+    // ##
+    virtual void Clear();
+
     // Call for the view which starts the interactive text edit. Use link to
     // activate (start text edit) and empty link to reset (end text edit). On
     // reset all text edit actions will be removed from this undo manager to

Modified: openoffice/branches/alg/aw080/main/svx/inc/svx/svdoashp.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/inc/svx/svdoashp.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/inc/svx/svdoashp.hxx (original)
+++ openoffice/branches/alg/aw080/main/svx/inc/svx/svdoashp.hxx Thu Nov  7 14:29:41 2013
@@ -124,6 +124,11 @@ public:
 	static basegfx::B2DPolyPolygon GetLineGeometry( const SdrObjCustomShape* pCustomShape, const bool bBezierAllowed );
 
 protected:
+    // #115391# new method for SdrObjCustomShape and SdrTextObj to correctly handle and set
+    // SdrTextMinFrameWidthItem and SdrTextMinFrameHeightItem based on all settings, necessities
+    // and object sizes
+    virtual void AdaptTextMinSize();
+
 	String		aName;
 
 	virtual ~SdrObjCustomShape();
@@ -131,11 +136,6 @@ protected:
 	/// method to copy all data from given source
 	virtual void copyDataFromSdrObject(const SdrObject& rSource);
 
-    // #115391# new method for SdrObjCustomShape and SdrTextObj to correctly handle and set
-    // SDRATTR_TEXT_MINFRAMEWIDTH and SDRATTR_TEXT_MINFRAMEHEIGHT based on all settings, necessities
-    // and object sizes
-    virtual void AdaptTextMinSize();
-
     virtual basegfx::B2DRange AdjustTextFrameWidthAndHeight(const basegfx::B2DRange& rRange) const;
 
 public:

Modified: openoffice/branches/alg/aw080/main/svx/inc/svx/svdoedge.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/inc/svx/svdoedge.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/inc/svx/svdoedge.hxx (original)
+++ openoffice/branches/alg/aw080/main/svx/inc/svx/svdoedge.hxx Thu Nov  7 14:29:41 2013
@@ -169,6 +169,27 @@ protected:
 	// inside test (HitTest) and object center test (see FindConnector())
 	bool						mbSuppressDefaultConnect : 1;
 
+	// #110649#
+	// Flag value for avoiding death loops when calculating BoundRects
+	// from circularly connected connectors. A coloring algorythm is used
+	// here. When the GetCurrentBoundRect() calculation of a SdrEdgeObj
+	// is running, the flag is set, else it is always sal_False.
+	unsigned					mbBoundRectCalculationRunning : 1;
+
+    // #123048# need to remember if layouting was suppressed before to get
+    // to a correct state for first real layouting
+    unsigned                    mbSuppressed : 1;
+
+public:
+	// #109007#
+	// Interface to default connect suppression
+	void SetSuppressDefaultConnect(sal_Bool bNew) { mbSuppressDefaultConnect = bNew; }
+	sal_Bool GetSuppressDefaultConnect() const { return mbSuppressDefaultConnect; }
+
+	// #110649#
+	sal_Bool IsBoundRectCalculationRunning() const { return mbBoundRectCalculationRunning; }
+
+protected:
 	virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint);
 
 	void ImpRecalcEdgeTrack();  // Neuberechnung des Verbindungsverlaufs
@@ -198,11 +219,6 @@ public:
 	/// create a copy, evtl. with a different target model (if given)
 	virtual SdrObject* CloneSdrObject(SdrModel* pTargetModel = 0) const;
 
-	// #109007#
-	// Interface to default connect suppression
-	void SetSuppressDefaultConnect(bool bNew) { mbSuppressDefaultConnect = bNew; }
-	bool GetSuppressDefaultConnect() const { return mbSuppressDefaultConnect; }
-
 	virtual bool IsSdrEdgeObj() const;
 	virtual bool IsClosedObj() const;
 

Modified: openoffice/branches/alg/aw080/main/svx/inc/svx/svdundo.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/inc/svx/svdundo.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/inc/svx/svdundo.hxx (original)
+++ openoffice/branches/alg/aw080/main/svx/inc/svx/svdundo.hxx Thu Nov  7 14:29:41 2013
@@ -244,22 +244,21 @@ public:
 
 class SVX_DLLPUBLIC SdrUndoDelObj : public SdrUndoRemoveObj
 {
+private:
+    void TryToFlushGraphicContent();
+
 public:
-	SdrUndoDelObj(SdrObject& rNewObj)
-	:	SdrUndoRemoveObj(rNewObj) 
-	{ 
-		SetOwner(true); 
-	}
-	virtual ~SdrUndoDelObj() {}
+    SdrUndoDelObj(SdrObject& rNewObj);
+    virtual ~SdrUndoDelObj();
 
-	virtual void Undo();
-	virtual void Redo();
+    virtual void Undo();
+    virtual void Redo();
 
-	virtual String GetComment() const;
-	virtual String GetSdrRepeatComment(SdrView& rView) const;
+    virtual String GetComment() const;
+    virtual String GetSdrRepeatComment(SdrView& rView) const;
 
-	virtual void SdrRepeat(SdrView& rView);
-	virtual bool CanSdrRepeat(SdrView& rView) const;
+    virtual void SdrRepeat(SdrView& rView);
+    virtual bool CanSdrRepeat(SdrView& rView) const;
 };
 
 //////////////////////////////////////////////////////////////////////////////

Modified: openoffice/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape3d.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape3d.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape3d.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape3d.cxx Thu Nov  7 14:29:41 2013
@@ -390,7 +390,11 @@ SdrObject* EnhancedCustomShape3d::Create
 			// #116336#
 			// If shapes are mirrored once (mirroring two times correct geometry again)
 			// double-sided at the object and two-sided-lighting at the scene need to be set.
-			if((bIsMirroredX && !bIsMirroredY) || (!bIsMirroredX && bIsMirroredY))
+            //
+            // #122777# Also use double sided for two fill styles since there several 3d objects get
+            // created with a depth of 0; one of them is the backside which needs double-sided to
+            // get visible
+			if(bUseTwoFillStyles || (bIsMirroredX && !bIsMirroredY) || (!bIsMirroredX && bIsMirroredY))
 			{
 				aSet.Put(SfxBoolItem(SDRATTR_3DOBJ_DOUBLE_SIDED, true));
 				
@@ -538,22 +542,26 @@ SdrObject* EnhancedCustomShape3d::Create
 						
                         aFillBmp = rBmpItm.GetGraphicObject().GetGraphic().GetBitmapEx();
 
-                        Size aLogicalSize(aFillBmp.GetPrefSize());
-						
-                        if(MapMode(MAP_PIXEL) == aFillBmp.GetPrefMapMode())
-                        {
-							aLogicalSize = Application::GetDefaultDevice()->PixelToLogic(aLogicalSize, MAP_100TH_MM); 
-                        }
-						else
-                        {
-							aLogicalSize = OutputDevice::LogicToLogic(aLogicalSize, aFillBmp.GetPrefMapMode(), MAP_100TH_MM);
-                        }
-
-                        aLogicalSize.Width() *= 5; // :-( nice scaling, look at engine3d/obj3d.cxx
-						aLogicalSize.Height() *= 5;
-						aFillBmp.SetPrefSize(aLogicalSize);
-						aFillBmp.SetPrefMapMode(MAP_100TH_MM);
-						p3DObj->SetMergedItem(XFillBitmapItem(String(), Graphic(aFillBmp)));
+                        // #122777# old adaption of FillStyle bitmap size to 5-times the original size; this is not needed
+                        // anymore and was used in old times to male the fill look better when converting to 3D. Removed
+                        // from regular 3D objects for some time, also needs to be removed from CustomShapes
+                        //
+                        //Size aLogicalSize(aFillBmp.GetPrefSize());
+						//
+                        //if(MapMode(MAP_PIXEL) == aFillBmp.GetPrefMapMode())
+                        //{
+						//	aLogicalSize = Application::GetDefaultDevice()->PixelToLogic(aLogicalSize, MAP_100TH_MM); 
+                        //}
+						//else
+                        //{
+						//	aLogicalSize = OutputDevice::LogicToLogic(aLogicalSize, aFillBmp.GetPrefMapMode(), MAP_100TH_MM);
+                        //}
+                        //
+                        //aLogicalSize.Width() *= 5; // :-( nice scaling, look at engine3d/obj3d.cxx
+						//aLogicalSize.Height() *= 5;
+						//aFillBmp.SetPrefSize(aLogicalSize);
+						//aFillBmp.SetPrefMapMode(MAP_100TH_MM);
+						//p3DObj->SetMergedItem(XFillBitmapItem(String(), Graphic(aFillBmp)));
 					}
 					else
 					{
@@ -599,11 +607,12 @@ SdrObject* EnhancedCustomShape3d::Create
 					p3DObj->SetMergedItem(Svx3DCloseBackItem(false));
 					pScene->Insert3DObj(*p3DObj);
 					
+                    // #122777# depth 0 is okay for planes when using double-sided
                     p3DObj = new E3dExtrudeObj(
                         rCustomShape.getSdrModelFromSdrObject(), 
                         a3DDefaultAttr, 
                         aPolyPoly, 
-                        10);
+                        0);
 					p3DObj->SetLayer(rShape2d.GetLayer());
 					p3DObj->SetMergedItemSet(aLocalSet);
 					

Modified: openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontact.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontact.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontact.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontact.cxx Thu Nov  7 14:29:41 2013
@@ -326,72 +326,78 @@ namespace sdr
 			}
 		}
 
-		drawinglayer::primitive2d::Primitive2DSequence ViewObjectContact::createPrimitive2DSequence(const DisplayInfo& rDisplayInfo) const
-		{
-			// get the view-independent Primitive from the viewContact
-			drawinglayer::primitive2d::Primitive2DSequence xRetval(GetViewContact().getViewIndependentPrimitive2DSequence());
+        drawinglayer::primitive2d::Primitive2DSequence ViewObjectContact::createPrimitive2DSequence(const DisplayInfo& rDisplayInfo) const
+        {
+            // get the view-independent Primitive from the viewContact
+            drawinglayer::primitive2d::Primitive2DSequence xRetval(GetViewContact().getViewIndependentPrimitive2DSequence());
 
 #ifdef DBG_UTIL
-			static bool bShowCoordinateSystem(true);
+            static bool bShowCoordinateSystem(true);
 #endif
 
-			if(xRetval.hasElements())
-			{
-				// handle GluePoint
-				if(!GetObjectContact().isOutputToPrinter() && GetObjectContact().AreGluePointsVisible())
-				{
-					const drawinglayer::primitive2d::Primitive2DSequence xGlue(GetViewContact().createGluePointPrimitive2DSequence());
+            if(xRetval.hasElements())
+            {
+                // handle GluePoint
+                if(!GetObjectContact().isOutputToPrinter() && GetObjectContact().AreGluePointsVisible())
+                {
+                    const drawinglayer::primitive2d::Primitive2DSequence xGlue(GetViewContact().createGluePointPrimitive2DSequence());
 
-					if(xGlue.hasElements())
-					{
+                    if(xGlue.hasElements())
+                    {
                         drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(xRetval, xGlue);
-					}
-				}
+                    }
+                }
 
 #ifdef DBG_UTIL
-				// for transformation test purposes, add a debug possibility to optically
-				// show the coordiante system axes x in red and y in green
-				if(bShowCoordinateSystem && !GetObjectContact().isOutputToPrinter())
-				{
-					SdrObject* pObj = GetViewContact().TryToGetSdrObject();
-
-					if(pObj)
-					{
-						const basegfx::B2DHomMatrix& rMatrix = pObj->getSdrObjectTransformation();
-						const basegfx::B2DPoint aTopLeft(rMatrix * basegfx::B2DPoint(0.0, 0.0));
-						const basegfx::B2DPoint aTopRight(rMatrix * basegfx::B2DPoint(1.0, 0.0));
-						const basegfx::B2DPoint aBottomLeft(rMatrix * basegfx::B2DPoint(0.0, 1.0));
-						basegfx::B2DPolygon aXAxis, aYAxis;
-
-						aXAxis.append(aTopLeft);
-						aXAxis.append(aTopRight);
-
-						aYAxis.append(aTopLeft);
-						aYAxis.append(aBottomLeft);
-
-						drawinglayer::primitive2d::Primitive2DSequence aCoordinate(2);
-
-						aCoordinate[0] = new drawinglayer::primitive2d::PolygonHairlinePrimitive2D(
-							aXAxis,
-							basegfx::BColor(1.0, 0.0, 0.0));
-						aCoordinate[1] = new drawinglayer::primitive2d::PolygonHairlinePrimitive2D(
-							aYAxis,
-							basegfx::BColor(0.0, 1.0, 0.0));
-
-						drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(xRetval, aCoordinate);
-					}
-				}
+                // for transformation test purposes, add a debug possibility to optically
+                // show the coordiante system axes x in red and y in green
+                if(bShowCoordinateSystem && !GetObjectContact().isOutputToPrinter())
+                {
+                    SdrObject* pObj = GetViewContact().TryToGetSdrObject();
+
+                    if(pObj)
+                    {
+                        const basegfx::B2DHomMatrix& rMatrix = pObj->getSdrObjectTransformation();
+                        const basegfx::B2DPoint aTopLeft(rMatrix * basegfx::B2DPoint(0.0, 0.0));
+                        const basegfx::B2DPoint aTopRight(rMatrix * basegfx::B2DPoint(1.0, 0.0));
+                        const basegfx::B2DPoint aBottomLeft(rMatrix * basegfx::B2DPoint(0.0, 1.0));
+                        basegfx::B2DPolygon aXAxis, aYAxis;
+
+                        aXAxis.append(aTopLeft);
+                        aXAxis.append(aTopRight);
+
+                        aYAxis.append(aTopLeft);
+                        aYAxis.append(aBottomLeft);
+
+                        drawinglayer::primitive2d::Primitive2DSequence aCoordinate(2);
+
+                        aCoordinate[0] = new drawinglayer::primitive2d::PolygonHairlinePrimitive2D(
+                            aXAxis,
+                            basegfx::BColor(1.0, 0.0, 0.0));
+                        aCoordinate[1] = new drawinglayer::primitive2d::PolygonHairlinePrimitive2D(
+                            aYAxis,
+                            basegfx::BColor(0.0, 1.0, 0.0));
+
+                        drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(xRetval, aCoordinate);
+                    }
+                }
 #endif
 
-				// handle ghosted
-				if(isPrimitiveGhosted(rDisplayInfo))
-				{
-					const basegfx::BColor aRGBWhite(1.0, 1.0, 1.0);
-					const basegfx::BColorModifier aBColorModifier(aRGBWhite, 0.5, basegfx::BCOLORMODIFYMODE_INTERPOLATE);
-                    const drawinglayer::primitive2d::Primitive2DReference xReference(new drawinglayer::primitive2d::ModifiedColorPrimitive2D(xRetval, aBColorModifier));
+                // handle ghosted
+                if(isPrimitiveGhosted(rDisplayInfo))
+                {
+                    const basegfx::BColor aRGBWhite(1.0, 1.0, 1.0);
+                    const drawinglayer::primitive2d::Primitive2DReference xReference(
+                        new drawinglayer::primitive2d::ModifiedColorPrimitive2D(
+                            xRetval, 
+                            basegfx::BColorModifierSharedPtr(
+                                new basegfx::BColorModifier_interpolate(
+                                    aRGBWhite, 
+                                    0.5))));
+
                     xRetval = drawinglayer::primitive2d::Primitive2DSequence(&xReference, 1);
-				}
-			}
+                }
+            }
 
 			return xRetval;
 		}

Modified: openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3d.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3d.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3d.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3d.cxx Thu Nov  7 14:29:41 2013
@@ -50,23 +50,30 @@ namespace sdr
 		{
 		}
 
-		drawinglayer::primitive3d::Primitive3DSequence ViewObjectContactOfE3d::createPrimitive3DSequence(const DisplayInfo& rDisplayInfo) const
-		{
-			// get the view-independent Primitive from the viewContact
-			const ViewContactOfE3d& rViewContactOfE3d(dynamic_cast< const ViewContactOfE3d& >(GetViewContact()));
-			drawinglayer::primitive3d::Primitive3DSequence xRetval(rViewContactOfE3d.getViewIndependentPrimitive3DSequence());
+        drawinglayer::primitive3d::Primitive3DSequence ViewObjectContactOfE3d::createPrimitive3DSequence(const DisplayInfo& rDisplayInfo) const
+        {
+            // get the view-independent Primitive from the viewContact
+            const ViewContactOfE3d& rViewContactOfE3d(dynamic_cast< const ViewContactOfE3d& >(GetViewContact()));
+            drawinglayer::primitive3d::Primitive3DSequence xRetval(rViewContactOfE3d.getViewIndependentPrimitive3DSequence());
+
+            // handle ghosted
+            if(isPrimitiveGhosted(rDisplayInfo))
+            {
+                const ::basegfx::BColor aRGBWhite(1.0, 1.0, 1.0);
+                const ::basegfx::BColorModifierSharedPtr aBColorModifier(
+                    new basegfx::BColorModifier_interpolate(
+                        aRGBWhite, 
+                        0.5));
+                const drawinglayer::primitive3d::Primitive3DReference xReference(
+                    new drawinglayer::primitive3d::ModifiedColorPrimitive3D(
+                        xRetval, 
+                        aBColorModifier));
 
-			// handle ghosted
-			if(isPrimitiveGhosted(rDisplayInfo))
-			{
-				const ::basegfx::BColor aRGBWhite(1.0, 1.0, 1.0);
-				const ::basegfx::BColorModifier aBColorModifier(aRGBWhite, 0.5, ::basegfx::BCOLORMODIFYMODE_INTERPOLATE);
-				const drawinglayer::primitive3d::Primitive3DReference xReference(new drawinglayer::primitive3d::ModifiedColorPrimitive3D(xRetval, aBColorModifier));
                 xRetval = drawinglayer::primitive3d::Primitive3DSequence(&xReference, 1);
-			}
+            }
 
-			return xRetval;
-		}
+            return xRetval;
+        }
 
 		drawinglayer::primitive2d::Primitive2DSequence ViewObjectContactOfE3d::createPrimitive2DSequence(const DisplayInfo& rDisplayInfo) const
 		{

Modified: openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx Thu Nov  7 14:29:41 2013
@@ -110,16 +110,22 @@ namespace sdr
 					}
 				}
 
-				// handle ghosted
-				if(isPrimitiveGhosted(rDisplayInfo))
-				{
-					const ::basegfx::BColor aRGBWhite(1.0, 1.0, 1.0);
-					const ::basegfx::BColorModifier aBColorModifier(aRGBWhite, 0.5, ::basegfx::BCOLORMODIFYMODE_INTERPOLATE);
-                    const drawinglayer::primitive2d::Primitive2DReference xReference(new drawinglayer::primitive2d::ModifiedColorPrimitive2D(xRetval, aBColorModifier));
+                // handle ghosted
+                if(isPrimitiveGhosted(rDisplayInfo))
+                {
+                    const ::basegfx::BColor aRGBWhite(1.0, 1.0, 1.0);
+                    const ::basegfx::BColorModifierSharedPtr aBColorModifier(
+                        new basegfx::BColorModifier_interpolate(
+                            aRGBWhite, 
+                            0.5));
+                    const drawinglayer::primitive2d::Primitive2DReference xReference(
+                        new drawinglayer::primitive2d::ModifiedColorPrimitive2D(
+                            xRetval, 
+                            aBColorModifier));
 
                     xRetval = drawinglayer::primitive2d::Primitive2DSequence(&xReference, 1);
-				}
-			}
+                }
+            }
 
 			if(bIsActiveVC)
 			{

Modified: openoffice/branches/alg/aw080/main/svx/source/sdr/properties/customshapeproperties.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/sdr/properties/customshapeproperties.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/sdr/properties/customshapeproperties.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/sdr/properties/customshapeproperties.cxx Thu Nov  7 14:29:41 2013
@@ -38,21 +38,32 @@ namespace sdr
 {
     namespace properties
     {
-        void CustomShapeProperties::UpdateTextFrameStatus()
+        void CustomShapeProperties::UpdateTextFrameStatus(bool bInvalidateRenderGeometry)
         {
             SdrObjCustomShape& rObj = static_cast< SdrObjCustomShape& >(GetSdrObject());
             const bool bOld(rObj.bTextFrame);
 
+            // change TextFrame flag when bResizeShapeToFitText changes (which is mapped 
+            // on the item SDRATTR_TEXT_AUTOGROWHEIGHT for custom shapes, argh)
             rObj.bTextFrame = 0 != static_cast< const SdrOnOffItem& >(GetObjectItemSet().Get(SDRATTR_TEXT_AUTOGROWHEIGHT)).GetValue();
 
+            // check if it did change
             if(rObj.bTextFrame != bOld)
             {
-                rObj.InvalidateRenderGeometry();
+                // on change also invalidate render geometry
+                bInvalidateRenderGeometry = true;
 
-                // #115391# Potential recursuin, since it calls SetObjectItemSet again, but rObj.bTextFrame 
-                // will not change again, thus it will be only one level and terminate
+                // #115391# Potential recursion, since it calls SetObjectItemSet again, but rObj.bTextFrame 
+                // will not change again. Thus it will be only one level and terminate safely
                 rObj.AdaptTextMinSize(); 
             }
+
+            if(bInvalidateRenderGeometry)
+            {
+                // if asked for or bResizeShapeToFitText changed, make sure that
+                // the render geometry is reconstructed using changed parameters
+                rObj.InvalidateRenderGeometry();
+            }
         }
 
         SfxItemSet& CustomShapeProperties::CreateObjectSpecificItemSet(SfxItemPool& rPool)
@@ -69,7 +80,6 @@ namespace sdr
 
                 // 3d Properties
                 SDRATTR_3D_FIRST, SDRATTR_3D_LAST,
-
                 // CustomShape properties
                 SDRATTR_CUSTOMSHAPE_FIRST, SDRATTR_CUSTOMSHAPE_LAST,
 
@@ -104,8 +114,8 @@ namespace sdr
                     TextProperties::ClearObjectItemDirect( nWhich2 );
                     nWhich2 = aIter.NextWhich();
                 }
-                SfxItemSet aSet(GetSdrObject().GetObjectItemPool());
-                ItemSetChanged(aSet);
+                const SfxItemSet& rSet(GetSdrObject().GetObjectItemPool());
+                ItemSetChanged(rSet);
             }
             else
                 TextProperties::ClearObjectItem( nWhich );
@@ -133,7 +143,7 @@ namespace sdr
             TextProperties::ItemSetChanged(rSet);
 
             // update bTextFrame and RenderGeometry
-            UpdateTextFrameStatus();
+            UpdateTextFrameStatus(true);
         }
 
         void CustomShapeProperties::PostItemChange(const sal_uInt16 nWhich)
@@ -143,7 +153,7 @@ namespace sdr
                 case SDRATTR_TEXT_AUTOGROWHEIGHT:
                 {
                     // #115391#  update bTextFrame and RenderGeometry using AdaptTextMinSize()
-                    UpdateTextFrameStatus();
+                    UpdateTextFrameStatus(false);
                     break;
                 }
                 default:
@@ -162,7 +172,7 @@ namespace sdr
             TextProperties::ItemChange( nWhich, pNewItem );
 
             // update bTextFrame and RenderGeometry
-            UpdateTextFrameStatus();
+            UpdateTextFrameStatus(true);
         }
 
         void CustomShapeProperties::SetStyleSheet(SfxStyleSheet* pNewStyleSheet, bool bDontRemoveHardAttr)
@@ -171,13 +181,13 @@ namespace sdr
             TextProperties::SetStyleSheet( pNewStyleSheet, bDontRemoveHardAttr );
 
             // update bTextFrame and RenderGeometry
-            UpdateTextFrameStatus();
+            UpdateTextFrameStatus(true);
         }
 
         void CustomShapeProperties::ForceDefaultAttributes()
         {
             // update bTextFrame and RenderGeometry
-            UpdateTextFrameStatus();
+            UpdateTextFrameStatus(true);
 
             // SJ: Following is no good if creating customshapes, leading to objects that are white after loading via xml
             // This means: Do *not* call parent here is by purpose...
@@ -225,11 +235,8 @@ namespace sdr
                 bRemoveRenderGeometry = true;
             }
 
-            if ( bRemoveRenderGeometry )
-            {
-                // update bTextFrame and RenderGeometry
-                UpdateTextFrameStatus();
-            }
+            // update bTextFrame and RenderGeometry
+            UpdateTextFrameStatus(bRemoveRenderGeometry);
         }
     } // end of namespace properties
 } // end of namespace sdr

Modified: openoffice/branches/alg/aw080/main/svx/source/sdr/properties/defaultproperties.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/sdr/properties/defaultproperties.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/sdr/properties/defaultproperties.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/sdr/properties/defaultproperties.cxx Thu Nov  7 14:29:41 2013
@@ -132,7 +132,7 @@ namespace sdr
 
 				if(nWhich)
 				{
-					SfxItemSet aSet(GetSdrObject().GetObjectItemPool(), nWhich, nWhich, 0, 0);
+					const SfxItemSet aSet(GetSdrObject().GetObjectItemPool(), nWhich, nWhich, 0, 0);
 					ItemSetChanged(aSet);
 				}
 			}

Modified: openoffice/branches/alg/aw080/main/svx/source/svdraw/sdrundomanager.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/svdraw/sdrundomanager.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/svdraw/sdrundomanager.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/svdraw/sdrundomanager.cxx Thu Nov  7 14:29:41 2013
@@ -85,6 +85,25 @@ sal_Bool SdrUndoManager::Redo()
     return bRetval;
 }
 
+void SdrUndoManager::Clear()
+{
+    if(isTextEditActive())
+    {
+        while(GetUndoActionCount() && mpLastUndoActionBeforeTextEdit != GetUndoAction(0))
+        {
+            RemoveLastUndoAction();
+        }
+
+        // urgently needed: RemoveLastUndoAction does NOT correct the Redo stack by itself (!)
+        ClearRedo();
+    }
+    else
+    {
+        // call parent
+        EditUndoManager::Clear();
+    }
+}
+
 void SdrUndoManager::SetEndTextEditHdl(const Link& rLink)
 {
     maEndTextEditHdl = rLink; 

Modified: openoffice/branches/alg/aw080/main/svx/source/svdraw/svddrgv.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/svdraw/svddrgv.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/svdraw/svddrgv.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/svdraw/svddrgv.cxx Thu Nov  7 14:29:41 2013
@@ -856,7 +856,8 @@ bool SdrDragView::BegInsGluePoint(const 
 
         if(rProvider.allowsUserGluePoints()) 
         {
-            sdr::glue::GluePoint& rNew = rProvider.addUserGluePoint(sdr::glue::GluePoint());
+            sdr::glue::GluePoint aNewGluePoint;
+            sdr::glue::GluePoint& rNew = rProvider.addUserGluePoint(aNewGluePoint);
             const sal_uInt32 nGlueId(rNew.getID());
             SdrHdl* pHdl = 0;
 

Modified: openoffice/branches/alg/aw080/main/svx/source/svdraw/svdmrkv.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/svdraw/svdmrkv.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/svdraw/svdmrkv.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/svdraw/svdmrkv.cxx Thu Nov  7 14:29:41 2013
@@ -849,15 +849,37 @@ void SdrMarkView::CreateMarkHandles(SdrH
     rTarget.SetDistortShear(SDRDRAG_SHEAR == GetDragMode());
     const SdrObjectVector aSelection(getSelectedSdrObjectVectorFromSdrMarkView());
     const bool bStdDrag(SDRDRAG_MOVE == GetDragMode());
-    bool bFrmHdl(ImpIsFrameHandles());
+    const bool bFrmHdl(ImpIsFrameHandles());
     const SdrObject* pSingleSelected = getSelectedIfSingle();
     const SdrTextObj* pSingleTextObj = dynamic_cast< const SdrTextObj* >(pSingleSelected);
     const bool bSingleTextObjMark(pSingleTextObj && pSingleTextObj->IsTextFrame());
 
-    // #122142# for captions in TextEdit, force to FrameHdls to get the special text selection
-    if(!bFrmHdl && bSingleTextObjMark && dynamic_cast< const SdrCaptionObj* >(pSingleSelected))
+    // check if text edit or ole is active and handles need to be suppressed. This may be the case
+    // when a single object is selected
+    // Using a strict return statement is okay here; no handles means *no* handles.
+    if(pSingleSelected)
     {
-        bFrmHdl = true;
+        // formally #i33755#: If TextEdit is active the EditEngine will directly paint
+        // to the window, so suppress Overlay and handles completely; a text frame for
+        // the active text edit will be painted by the repaitnt mechanism in
+        // SdrObjEditView::ImpPaintOutlinerView in this case. This needs to be reworked
+        // in the future
+        // Also formally #122142#: Pretty much the same for SdrCaptionObj's in calc.
+        if(((SdrView*)this)->IsTextEdit())
+        {
+            if(pSingleTextObj && pSingleTextObj->IsInEditMode())
+            {
+                return;
+            }
+        }
+
+        // formally #i118524#: if inplace activated OLE is selected, suppress handles
+        const SdrOle2Obj* pSdrOle2Obj = dynamic_cast< const SdrOle2Obj* >(pSingleSelected);
+
+        if(pSdrOle2Obj && (pSdrOle2Obj->isInplaceActive() || pSdrOle2Obj->isUiActive()))
+        {
+            return;
+        }
     }
 
     if(bFrmHdl) 

Modified: openoffice/branches/alg/aw080/main/svx/source/svdraw/svdoashp.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/svdraw/svdoashp.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/svdraw/svdoashp.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/svdraw/svdoashp.cxx Thu Nov  7 14:29:41 2013
@@ -1714,14 +1714,6 @@ sal_uInt16 SdrObjCustomShape::GetObjIden
 // state of the ResizeShapeToFitText flag to correctly set TextMinFrameWidth/Height
 void SdrObjCustomShape::AdaptTextMinSize()
 {
-    if(mbAdaptingTextMinSize)
-    {
-        // already adapting
-        return;
-    }
-
-    mbAdaptingTextMinSize = true;
-
     if(!IsPasteResize())
     {
         const bool bResizeShapeToFitText(0 != static_cast< const SdrOnOffItem& >(GetObjectItem(SDRATTR_TEXT_AUTOGROWHEIGHT)).GetValue());
@@ -1755,8 +1747,6 @@ void SdrObjCustomShape::AdaptTextMinSize
             AdjustTextFrameWidthAndHeight();
         }
     }
-
-    mbAdaptingTextMinSize = false;
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////

Modified: openoffice/branches/alg/aw080/main/svx/source/svdraw/svdoedge.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/svdraw/svdoedge.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/svdraw/svdoedge.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/svdraw/svdoedge.cxx Thu Nov  7 14:29:41 2013
@@ -732,51 +732,58 @@ void SdrEdgeObj::ImpUndirtyEdgeTrack()
 
 void SdrEdgeObj::ImpRecalcEdgeTrack()
 {
-    // #120437# if bEdgeTrackUserDefined, do not recalculate. Also not when model locked
-	if(mbEdgeTrackUserDefined || getSdrModelFromSdrObject().isLocked())
+    // #120437# if bEdgeTrackUserDefined, do not recalculate
+    if(mbEdgeTrackUserDefined)
     {
-		return;
+        return;
     }
 
-    static bool mbBoundRectCalculationRunning = false;
+    // #120437# also not when model locked during import, but remember
+    if(getSdrModelFromSdrObject().isLocked())
+    {
+        mbSuppressed = true;
+        return;
+    }
 
-    if(mbBoundRectCalculationRunning)
-	{
-		// this object is involved into another ImpRecalcEdgeTrack() call
-		// from another SdrEdgeObj. Do not calculate again to avoid loop.
-		// Also, do not change mbEdgeTrackDirty so that it gets recalculated
-		// later at the first non-looping call.
-	}
-    else if(getSdrModelFromSdrObject().isLocked())
-	{
-		// avoid re-layout during imports/API call sequences
-		// #i45294# but calc EdgeTrack and secure properties there
-		mbBoundRectCalculationRunning = true;
-		maEdgeTrack = ImpCalcEdgeTrack(maCon1, maCon2, &maEdgeInfo);
-		ImpSetAttrToEdgeInfo();
-		mbEdgeTrackDirty = false;
-		mbBoundRectCalculationRunning = false;
-	}
-	else
-	{
-		// To not run in a depth loop, use a coloring algorythm on
-		// SdrEdgeObj BoundRect calculations
-		mbBoundRectCalculationRunning = true;
+    // #110649#
+    if(IsBoundRectCalculationRunning())
+    {
+        // this object is involved into another ImpRecalcEdgeTrack() call
+        // from another SdrEdgeObj. Do not calculate again to avoid loop.
+        // Also, do not change mbEdgeTrackDirty so that it gets recalculated
+        // later at the first non-looping call.
+    }
+    else
+    {
+        if(mbSuppressed)
+        {
+            // #123048# If layouting was ever suppressed, it needs to be done once
+            // and the attr need to be set at EdgeInfo, else these attr *will be lost*
+            // in the following call to ImpSetEdgeInfoToAttr() sice they were never
+            // set before (!)
+            maEdgeTrack = ImpCalcEdgeTrack(maCon1, maCon2, &maEdgeInfo);
+            ImpSetAttrToEdgeInfo();
+            mbSuppressed = false;
+        }
+
+        // To not run in a depth loop, use a coloring algorythm on
+        // SdrEdgeObj BoundRect calculations
+        mbBoundRectCalculationRunning = true;
 
         {   // use local scope to trigger locally
             const SdrObjectChangeBroadcaster aSdrObjectChangeBroadcaster(*this);
 
-		    maEdgeTrack = ImpCalcEdgeTrack(maCon1, maCon2, &maEdgeInfo);
-		    ImpSetEdgeInfoToAttr(); // Die Werte aus maEdgeInfo in den Pool kopieren
-		    mbEdgeTrackDirty = false;
+            maEdgeTrack = ImpCalcEdgeTrack(maCon1, maCon2, &maEdgeInfo);
+            ImpSetEdgeInfoToAttr(); // Die Werte aus maEdgeInfo in den Pool kopieren
+            mbEdgeTrackDirty = false;
 
-		    // Only redraw here, no object change
-		    ActionChanged();
+            // Only redraw here, no object change
+            ActionChanged();
         }
 
-		// #110649#
-		mbBoundRectCalculationRunning = false;
-	}
+        // #110649#
+        mbBoundRectCalculationRunning = false;
+    }
 }
 
 sal_uInt16 SdrEdgeObj::ImpCalcEscAngle(SdrObject* pObj, const basegfx::B2DPoint& rPt) const

Modified: openoffice/branches/alg/aw080/main/svx/source/svdraw/svdograf.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/svdraw/svdograf.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/svdraw/svdograf.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/svdraw/svdograf.cxx Thu Nov  7 14:29:41 2013
@@ -69,6 +69,7 @@
 #include <vos/mutex.hxx>
 #include <drawinglayer/processor2d/objectinfoextractor2d.hxx>
 #include <drawinglayer/primitive2d/objectinfoprimitive2d.hxx>
+#include <unotools/cacheoptions.hxx>
 
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::io;
@@ -80,6 +81,37 @@ using namespace ::com::sun::star::io;
 #define GRAFSTREAMPOS_INVALID   0xffffffff
 #define SWAPGRAPHIC_TIMEOUT     5000
 
+// #122985# it is not correct to se the swap-timeout to a hard-coded 5000ms as it was before.
+// Added code and experimented what to do as a good compromize, see description
+sal_uInt32 getCacheTimeInMs()
+{
+    static bool bSetAtAll(true);
+
+    if(bSetAtAll)
+    {
+        static bool bSetToPreferenceTime(true);
+
+        if(bSetToPreferenceTime)
+        {
+            const SvtCacheOptions aCacheOptions;
+            const sal_Int32 nSeconds(aCacheOptions.GetGraphicManagerObjectReleaseTime());
+
+            // the default is 10 minutes. The minimum is one minute, thus 60 seconds. When the minimum
+            // should match to the former hard-coded 5 seconds, we have a divisor of 12 to use. For the
+            // default of 10 minutes this would mean 50 seconds. Compared to before this is ten times
+            // more (would allow better navigation by switching through pages) and is controllable
+            // by the user by setting the tools/options/memory/Remove_from_memory_after setting. Seems
+            // to be a good compromize to me.
+            return nSeconds * 1000 / 12;
+        }
+        else
+        {
+            return SWAPGRAPHIC_TIMEOUT;
+        }
+    }
+
+    return 0;
+}
 
 // ------------------
 // - SdrGraphicLink	-
@@ -377,7 +409,7 @@ SdrGrafObj::SdrGrafObj(
 {
 	pGraphic = new GraphicObject( rGrf );
     mpReplacementGraphic = 0;
-	pGraphic->SetSwapStreamHdl( LINK( this, SdrGrafObj, ImpSwapHdl ), SWAPGRAPHIC_TIMEOUT );
+	pGraphic->SetSwapStreamHdl( LINK( this, SdrGrafObj, ImpSwapHdl ), getCacheTimeInMs() );
     onGraphicChanged();
 	
     // #i118485# Shear allowed and possible now
@@ -461,7 +493,7 @@ void SdrGrafObj::SetGraphicObject( const
 	*pGraphic = rGrfObj;
     delete mpReplacementGraphic;
     mpReplacementGraphic = 0;
-	pGraphic->SetSwapStreamHdl( LINK( this, SdrGrafObj, ImpSwapHdl ), SWAPGRAPHIC_TIMEOUT );
+	pGraphic->SetSwapStreamHdl( LINK( this, SdrGrafObj, ImpSwapHdl ), getCacheTimeInMs() );
 	pGraphic->SetUserData();
 	mbIsPreview = false;
 	SetChanged();

Modified: openoffice/branches/alg/aw080/main/svx/source/svdraw/svdundo.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/svdraw/svdundo.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/svdraw/svdundo.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/svdraw/svdundo.cxx Thu Nov  7 14:29:41 2013
@@ -44,6 +44,8 @@
 #include <svl/whiter.hxx>
 #include <svx/e3dsceneupdater.hxx>
 #include <svx/svdlegacy.hxx>
+#include <svx/svdograf.hxx>
+#include <svx/sdr/contact/viewcontactofgraphic.hxx>
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -883,6 +885,38 @@ void SdrUndoInsertObj::Redo()
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
+void SdrUndoDelObj::TryToFlushGraphicContent()
+{
+    SdrGrafObj* pSdrGrafObj = dynamic_cast< SdrGrafObj* >(&mrSdrObject);
+
+    if(pSdrGrafObj)
+    {
+        sdr::contact::ViewContactOfGraphic* pVC = dynamic_cast< sdr::contact::ViewContactOfGraphic* >(&pSdrGrafObj->GetViewContact());
+
+        if(pVC)
+        {
+            pVC->flushViewObjectContacts();
+            pVC->flushGraphicObjects();
+        }
+
+        pSdrGrafObj->ForceSwapOut();
+    }
+}
+
+SdrUndoDelObj::SdrUndoDelObj(SdrObject& rNewObj)
+:   SdrUndoRemoveObj(rNewObj) 
+{ 
+    SetOwner(true);
+
+    // #122985# if graphic object is deleted (but goes to undo) flush it's graphic content
+    // since it is potentially no longer needed
+    TryToFlushGraphicContent();
+}
+
+SdrUndoDelObj::~SdrUndoDelObj() 
+{
+}
+
 void SdrUndoDelObj::Undo()
 {
 	SdrUndoRemoveObj::Undo();
@@ -895,6 +929,10 @@ void SdrUndoDelObj::Redo()
 	SdrUndoRemoveObj::Redo();
 	DBG_ASSERT(!IsOwner(),"RedoDeleteObj: mrSdrObject gehoert bereits der UndoAction");
 	SetOwner(true);
+
+    // #122985# if graphic object is deleted (but goes to undo) flush it's graphic content
+    // since it is potentially no longer needed
+    TryToFlushGraphicContent();
 }
 
 XubString SdrUndoDelObj::GetComment() const

Modified: openoffice/branches/alg/aw080/main/svx/source/tbxctrls/fillctrl.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/tbxctrls/fillctrl.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/tbxctrls/fillctrl.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/tbxctrls/fillctrl.cxx Thu Nov  7 14:29:41 2013
@@ -74,7 +74,6 @@ SvxFillToolBoxControl::SvxFillToolBoxCon
 	pFillTypeLB		( NULL ),
 	pFillAttrLB		( NULL ),
 	bUpdate			( sal_False ),
-    bIgnoreStatusUpdate( sal_False ),
     eLastXFS        ( XFILL_NONE )
 {
     addStatusListener( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FillColor" )));
@@ -107,9 +106,6 @@ void SvxFillToolBoxControl::StateChanged
 {
 	bool bEnableControls = sal_False;
 
-    if ( bIgnoreStatusUpdate )
-        return;
-
 	if( eState == SFX_ITEM_DISABLED )
 	{
 		if( nSID == SID_ATTR_FILL_STYLE )
@@ -229,13 +225,6 @@ void SvxFillToolBoxControl::StateChanged
 
 //========================================================================
 
-void SvxFillToolBoxControl::IgnoreStatusUpdate( sal_Bool bSet )
-{
-    bIgnoreStatusUpdate = bSet;
-}
-
-//========================================================================
-
 void SvxFillToolBoxControl::Update( const SfxPoolItem* pState )
 {
 	if ( pStyleItem && pState && bUpdate )
@@ -682,10 +671,8 @@ IMPL_LINK( FillControl, SelectFillAttrHd
         aArgs[0].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FillStyle" ));
         aXFillStyleItem.QueryValue(  a );
         aArgs[0].Value = a;
-        ( (SvxFillToolBoxControl*)GetData() )->IgnoreStatusUpdate( sal_True );
         ((SvxFillToolBoxControl*)GetData())->Dispatch( 
             ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FillStyle" )), aArgs );
-        ( (SvxFillToolBoxControl*)GetData() )->IgnoreStatusUpdate( sal_False );
 
         switch( eXFS )
         {

Modified: openoffice/branches/alg/aw080/main/svx/source/unodraw/UnoGraphicExporter.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/unodraw/UnoGraphicExporter.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/unodraw/UnoGraphicExporter.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/unodraw/UnoGraphicExporter.cxx Thu Nov  7 14:29:41 2013
@@ -216,41 +216,72 @@ namespace svx
 		return OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.Draw.GraphicExporter" ) );
 	}
 
-	/** creates a bitmap that is optionaly transparent from a metafile
-	*/
-	BitmapEx GetBitmapFromMetaFile( const GDIMetaFile& rMtf, bool bTransparent, const Size& rSize)
-	{
-		BitmapEx aBmpEx;
+    /** creates a bitmap that is optionaly transparent from a metafile
+    */
+    BitmapEx GetBitmapFromMetaFile( const GDIMetaFile& rMtf, bool bTransparent, const Size& rSize)
+    {
+        BitmapEx aBmpEx;
 
-		if(bTransparent)
-		{
+        if(bTransparent) // TTTT: Is this needed? Simply use 1st case for all?
+        {
             // use new primitive conversion tooling
             basegfx::B2DRange aRange(basegfx::B2DPoint(0.0, 0.0));
+            sal_uInt32 nMaximumQuadraticPixels(500000);
 
             // use 100th mm for primitive bitmap converter tool, input is pixel
             // use a real OutDev to get the correct DPI, the static LogicToLogic assumes 72dpi which is wrong (!)
             const Size aSize100th(Application::GetDefaultDevice()->PixelToLogic(rSize, MapMode(MAP_100TH_MM)));
-                    
+
             aRange.expand(basegfx::B2DPoint(aSize100th.Width(), aSize100th.Height()));
-            aBmpEx = convertMetafileToBitmapEx(rMtf, aRange);
-		}
-		else
+
+            // when explicitely pixels are requested from the GraphicExporter, use a *very* high limit
+            // of 16gb (4096x4096 pixels), else use the default for the converters
+            nMaximumQuadraticPixels = std::min(sal_uInt32(4096 * 4096), sal_uInt32(rSize.Width() * rSize.Height()));
+
+            aBmpEx = convertMetafileToBitmapEx(rMtf, aRange, nMaximumQuadraticPixels);
+        }
+        else
         {
             const SvtOptionsDrawinglayer aDrawinglayerOpt;
+
+            // #122820# If a concrete target size in pixels is given, use it
+            Size aTargetSize(rSize);
+
+            // get hairline and full bound rect to evtl. reduce given target pixel size when
+            // it is known that it will be expanded to get the right and bottom hairlines right
+            Rectangle aHairlineRect;
+            const Rectangle aRect(rMtf.GetBoundRect(*Application::GetDefaultDevice(), &aHairlineRect));
+
+            if(!aRect.IsEmpty() && !aHairlineRect.IsEmpty())
+            {
+                if(aRect.Right() == aHairlineRect.Right() || aRect.Bottom() == aHairlineRect.Bottom())
+                {
+                    if(aTargetSize.Width())
+                    {
+                        aTargetSize.Width() -= 1;
+                    }
+
+                    if(aTargetSize.Height())
+                    {
+                        aTargetSize.Height() -= 1;
+                    }
+                }
+            }
+
             const GraphicConversionParameters aParameters(
                 rSize, 
                 true, // allow unlimited size
                 aDrawinglayerOpt.IsAntiAliasing(),
                 aDrawinglayerOpt.IsSnapHorVerLinesToDiscrete());
-    		const Graphic aGraphic(rMtf);
+            const Graphic aGraphic(rMtf);
 
-			aBmpEx = BitmapEx(aGraphic.GetBitmap(aParameters));
-		    aBmpEx.SetPrefMapMode( rMtf.GetPrefMapMode() );
-		    aBmpEx.SetPrefSize( rMtf.GetPrefSize() );
+            aBmpEx = BitmapEx(aGraphic.GetBitmap(aParameters));
+            aBmpEx.SetPrefMapMode( rMtf.GetPrefMapMode() );
+            aBmpEx.SetPrefSize( rMtf.GetPrefSize() );
         }
 
-		return aBmpEx;
-	}
+        return aBmpEx;
+    }
 
 	Size CalcSize( sal_Int32 nWidth, sal_Int32 nHeight, const Size& aBoundSize)
 	{
@@ -417,26 +448,39 @@ VirtualDevice* GraphicExporter::CreatePa
 	}
 
 	pVDev->SetMapMode( aMM );
-#ifdef DBG_UTIL
-	sal_Bool bAbort = !
-#endif
-		pVDev->SetOutputSize(aPageSize);
-	DBG_ASSERT(!bAbort, "virt. Device nicht korrekt erzeugt");
-
-	SdrView* pView = new SdrView(*mpDoc, pVDev);
-	pView->SetPageVisible(false);
-	pView->SetBordVisible(false);
-	pView->SetGridVisible(false);
-	pView->SetHlplVisible(false);
-	pView->SetGlueVisible(false);
-	pView->ShowSdrPage(*pPage);
-	Region aRegion (Rectangle( aPoint, aPageSize ) );
+    bool bSuccess(false);
+
+    // #122820# If available, use pixel size directly
+    if(nWidthPixel && nHeightPixel)
+    {
+        bSuccess = pVDev->SetOutputSizePixel(Size(nWidthPixel, nHeightPixel));
+    }
+    else
+    {
+        bSuccess = pVDev->SetOutputSize(aPageSize);
+    }
 
-	ImplExportCheckVisisbilityRedirector aRedirector( mpCurrentPage );
+    if(bSuccess)
+    {
+        SdrView* pView = new SdrView(*mpDoc, pVDev);
+        pView->SetPageVisible(false);
+        pView->SetBordVisible(false);
+        pView->SetGridVisible(false);
+        pView->SetHlplVisible(false);
+        pView->SetGlueVisible(false);
+        pView->ShowSdrPage(*pPage);
+        Region aRegion (Rectangle( aPoint, aPageSize ) );
 
-	pView->CompleteRedraw(pVDev, aRegion, &aRedirector);
+        ImplExportCheckVisisbilityRedirector aRedirector( mpCurrentPage );
+
+        pView->CompleteRedraw(pVDev, aRegion, &aRedirector);
+        delete pView;
+    }
+    else
+    {
+        OSL_ENSURE(false, "Could not get a VirtualDevice of requested size (!)");
+    }
 
-	delete pView;
 	return pVDev;
 }
 

Modified: openoffice/branches/alg/aw080/main/svx/source/xoutdev/xattrbmp.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/svx/source/xoutdev/xattrbmp.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/svx/source/xoutdev/xattrbmp.cxx (original)
+++ openoffice/branches/alg/aw080/main/svx/source/xoutdev/xattrbmp.cxx Thu Nov  7 14:29:41 2013
@@ -129,10 +129,12 @@ bool SVX_DLLPUBLIC isHistorical8x8(const
                     if(pRead->HasPalette() && 2 == pRead->GetPaletteEntryCount())
                     {
                         const BitmapPalette& rPalette = pRead->GetPalette();
-                        
-                        o_rBack = rPalette[1];
-                        o_rFront = rPalette[0];
-                       
+
+                        // #123564# bachground and foregrund were exchanged; of course
+                        // rPalette[0] is the background color
+                        o_rFront = rPalette[1];
+                        o_rBack = rPalette[0];
+
                         return true;
                     }
                 }

Modified: openoffice/branches/alg/aw080/main/sw/inc/fmtfld.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sw/inc/fmtfld.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sw/inc/fmtfld.hxx (original)
+++ openoffice/branches/alg/aw080/main/sw/inc/fmtfld.hxx Thu Nov  7 14:29:41 2013
@@ -70,8 +70,14 @@ public:
 
 	virtual sal_Bool GetInfo( SfxPoolItem& rInfo ) const;
 
-	const SwField *GetFld() const	{ return pField; }
-	SwField *GetFld()				{ return pField; }
+    const SwField* GetField() const
+    {
+        return pField;
+    }
+    SwField* GetField()
+    {
+        return pField;
+    }
 
     // #111840#
     /**

Modified: openoffice/branches/alg/aw080/main/sw/inc/hintids.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sw/inc/hintids.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sw/inc/hintids.hxx (original)
+++ openoffice/branches/alg/aw080/main/sw/inc/hintids.hxx Thu Nov  7 14:29:41 2013
@@ -134,13 +134,13 @@ RES_TXTATR_WITHEND_END,
 
 // alle TextAttribute ohne ein Ende
 RES_TXTATR_NOEND_BEGIN = RES_TXTATR_WITHEND_END,
-	RES_TXTATR_FIELD = RES_TXTATR_NOEND_BEGIN,		// 53
-	RES_TXTATR_FLYCNT,								// 54
-	RES_TXTATR_FTN, 								// 55
+    RES_TXTATR_FIELD = RES_TXTATR_NOEND_BEGIN,      // 53
+    RES_TXTATR_FLYCNT,                              // 54
+    RES_TXTATR_FTN,                                 // 55
     RES_TXTATR_DUMMY4,                              // 56
     RES_TXTATR_DUMMY3,                              // 57
-	RES_TXTATR_DUMMY1,								// 58
-	RES_TXTATR_DUMMY2,								// 59
+    RES_TXTATR_DUMMY1,                              // 58
+    RES_TXTATR_DUMMY2,                              // 59
 RES_TXTATR_NOEND_END,
 RES_TXTATR_END = RES_TXTATR_NOEND_END
 };

Modified: openoffice/branches/alg/aw080/main/sw/inc/ndgrf.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sw/inc/ndgrf.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sw/inc/ndgrf.hxx (original)
+++ openoffice/branches/alg/aw080/main/sw/inc/ndgrf.hxx Thu Nov  7 14:29:41 2013
@@ -154,7 +154,6 @@ public:
 
     /// wrappers for non-const calls at GraphicObject
     void ReleaseGraphicFromCache() { maGrfObj.ReleaseFromCache(); }
-    void DrawGraphicWithPDFHandling(OutputDevice& rOutDev, const Point& rPt, const Size& rSz, const GraphicAttr* pGrfAttr = NULL, const sal_uLong nFlags = GRFMGR_DRAW_STANDARD) { maGrfObj.DrawWithPDFHandling(rOutDev, rPt, rSz, pGrfAttr, nFlags); }
     void StartGraphicAnimation(OutputDevice* pOut, const Point& rPt, const Size& rSz, long nExtraData = 0, const GraphicAttr* pAttr = NULL, sal_uLong nFlags = GRFMGR_DRAW_STANDARD, OutputDevice* pFirstFrameOutDev = NULL) { maGrfObj.StartAnimation(pOut, rPt, rSz, nExtraData, pAttr, nFlags, pFirstFrameOutDev); }
     void StopGraphicAnimation(OutputDevice* pOut = NULL, long nExtraData = 0) { maGrfObj.StopAnimation(pOut, nExtraData); }
 

Modified: openoffice/branches/alg/aw080/main/sw/inc/ndtxt.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sw/inc/ndtxt.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sw/inc/ndtxt.hxx (original)
+++ openoffice/branches/alg/aw080/main/sw/inc/ndtxt.hxx Thu Nov  7 14:29:41 2013
@@ -285,8 +285,12 @@ public:
             refmarks, toxmarks, and metas will be ignored unless this is true
         ATTENTION: setting bInclRefToxMark is only allowed from UNDO!
      */
-	void	RstAttr( const SwIndex &rIdx, xub_StrLen nLen, sal_uInt16 nWhich = 0,
-					const SfxItemSet* pSet = 0, sal_Bool bInclRefToxMark = sal_False );
+    void RstAttr(
+        const SwIndex &rIdx,
+        const xub_StrLen nLen,
+        const sal_uInt16 nWhich = 0,
+        const SfxItemSet* pSet = 0,
+        const sal_Bool bInclRefToxMark = sal_False );
 	void	GCAttr();
 
 	// loesche das Text-Attribut (muss beim Pool abgemeldet werden!)

Modified: openoffice/branches/alg/aw080/main/sw/inc/txatbase.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sw/inc/txatbase.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sw/inc/txatbase.hxx (original)
+++ openoffice/branches/alg/aw080/main/sw/inc/txatbase.hxx Thu Nov  7 14:29:41 2013
@@ -108,7 +108,7 @@ public:
 
 	inline const SwFmtCharFmt			&GetCharFmt() const;
     inline const SwFmtAutoFmt           &GetAutoFmt() const;
-	inline const SwFmtFld				&GetFld() const;
+	inline const SwFmtFld				&GetFmtFld() const;
 	inline const SwFmtFtn				&GetFtn() const;
 	inline const SwFmtFlyCnt			&GetFlyCnt() const;
 	inline const SwTOXMark				&GetTOXMark() const;
@@ -181,7 +181,7 @@ inline const SwFmtAutoFmt& SwTxtAttr::Ge
     return (const SwFmtAutoFmt&)(*m_pAttr);
 }
 
-inline const SwFmtFld& SwTxtAttr::GetFld() const
+inline const SwFmtFld& SwTxtAttr::GetFmtFld() const
 {
     ASSERT( m_pAttr && m_pAttr->Which() == RES_TXTATR_FIELD,
         "Wrong attribute" );

Modified: openoffice/branches/alg/aw080/main/sw/inc/unotxdoc.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sw/inc/unotxdoc.hxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sw/inc/unotxdoc.hxx (original)
+++ openoffice/branches/alg/aw080/main/sw/inc/unotxdoc.hxx Thu Nov  7 14:29:41 2013
@@ -443,8 +443,8 @@ public:
 	SwXDrawPage*				GetDrawPage();
 	SwDocShell* 				GetDocShell() {return pDocShell;}
 
-    // #121125# react on ViewShell change
-    void ReactOnViewShellChange();
+    // #121125#, #122868# - clean up rendering data
+    void CleanUpRenderingData();
     
     void * SAL_CALL operator new( size_t ) throw();
 	void SAL_CALL operator delete( void * ) throw();

Modified: openoffice/branches/alg/aw080/main/sw/source/core/bastyp/init.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sw/source/core/bastyp/init.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sw/source/core/bastyp/init.cxx (original)
+++ openoffice/branches/alg/aw080/main/sw/source/core/bastyp/init.cxx Thu Nov  7 14:29:41 2013
@@ -317,44 +317,39 @@ SfxItemInfo __FAR_DATA aSlotTab[] =
     { 0, SFX_ITEM_POOLABLE },                           // RES_TXTATR_UNKNOWN_CONTAINER
     { 0, SFX_ITEM_POOLABLE },                           // RES_TXTATR_DUMMY5
 
-	{ 0, 0 },											// RES_TXTATR_FIELD
-	{ 0, 0 },											// RES_TXTATR_FLYCNT
-	{ 0, 0 },											// RES_TXTATR_FTN
+    { 0, 0 },                                           // RES_TXTATR_FIELD
+    { 0, 0 },                                           // RES_TXTATR_FLYCNT
+    { 0, 0 },                                           // RES_TXTATR_FTN
     { 0, SFX_ITEM_POOLABLE },                           // RES_TXTATR_DUMMY4
     { 0, SFX_ITEM_POOLABLE },                           // RES_TXTATR_DUMMY3
-	{ 0, SFX_ITEM_POOLABLE },							// RES_TXTATR_DUMMY1
-	{ 0, SFX_ITEM_POOLABLE },							// RES_TXTATR_DUMMY2
+    { 0, SFX_ITEM_POOLABLE },                           // RES_TXTATR_DUMMY1
+    { 0, SFX_ITEM_POOLABLE },                           // RES_TXTATR_DUMMY2
 
-	{ SID_ATTR_PARA_LINESPACE, SFX_ITEM_POOLABLE }, 	// RES_PARATR_LINESPACING
-	{ SID_ATTR_PARA_ADJUST, SFX_ITEM_POOLABLE }, 		// RES_PARATR_ADJUST
-	{ SID_ATTR_PARA_SPLIT, SFX_ITEM_POOLABLE }, 		// RES_PARATR_SPLIT
-	{ SID_ATTR_PARA_ORPHANS, SFX_ITEM_POOLABLE },  		// RES_PARATR_ORPHANS
-	{ SID_ATTR_PARA_WIDOWS, SFX_ITEM_POOLABLE }, 		// RES_PARATR_WIDOWS
-	{ SID_ATTR_TABSTOP, SFX_ITEM_POOLABLE }, 			// RES_PARATR_TABSTOP
-	{ SID_ATTR_PARA_HYPHENZONE, SFX_ITEM_POOLABLE }, 	// RES_PARATR_HYPHENZONE
-	{ FN_FORMAT_DROPCAPS, 0 },							// RES_PARATR_DROP
-	{ SID_ATTR_PARA_REGISTER, SFX_ITEM_POOLABLE },		// RES_PARATR_REGISTER
-    // --> OD 2008-03-04 #refactorlists#
-    // RES_PARATR_NUMRULE is now poolable
+    { SID_ATTR_PARA_LINESPACE, SFX_ITEM_POOLABLE }, 	// RES_PARATR_LINESPACING
+    { SID_ATTR_PARA_ADJUST, SFX_ITEM_POOLABLE }, 		// RES_PARATR_ADJUST
+    { SID_ATTR_PARA_SPLIT, SFX_ITEM_POOLABLE }, 		// RES_PARATR_SPLIT
+    { SID_ATTR_PARA_ORPHANS, SFX_ITEM_POOLABLE },  		// RES_PARATR_ORPHANS
+    { SID_ATTR_PARA_WIDOWS, SFX_ITEM_POOLABLE }, 		// RES_PARATR_WIDOWS
+    { SID_ATTR_TABSTOP, SFX_ITEM_POOLABLE }, 			// RES_PARATR_TABSTOP
+    { SID_ATTR_PARA_HYPHENZONE, SFX_ITEM_POOLABLE }, 	// RES_PARATR_HYPHENZONE
+    { FN_FORMAT_DROPCAPS, 0 },							// RES_PARATR_DROP
+    { SID_ATTR_PARA_REGISTER, SFX_ITEM_POOLABLE },		// RES_PARATR_REGISTER
     { SID_ATTR_PARA_NUMRULE, SFX_ITEM_POOLABLE },       // RES_PARATR_NUMRULE
-    // <--
-	{ SID_ATTR_PARA_SCRIPTSPACE, SFX_ITEM_POOLABLE },	// RES_PARATR_SCRIPTSPACE
-	{ SID_ATTR_PARA_HANGPUNCTUATION, SFX_ITEM_POOLABLE },// RES_PARATR_HANGINGPUNCTUATION
+    { SID_ATTR_PARA_SCRIPTSPACE, SFX_ITEM_POOLABLE },	// RES_PARATR_SCRIPTSPACE
+    { SID_ATTR_PARA_HANGPUNCTUATION, SFX_ITEM_POOLABLE },// RES_PARATR_HANGINGPUNCTUATION
 
-	{ SID_ATTR_PARA_FORBIDDEN_RULES, SFX_ITEM_POOLABLE },// RES_PARATR_FORBIDDEN_RULES
+    { SID_ATTR_PARA_FORBIDDEN_RULES, SFX_ITEM_POOLABLE },// RES_PARATR_FORBIDDEN_RULES
     { SID_PARA_VERTALIGN, SFX_ITEM_POOLABLE },          // RES_PARATR_VERTALIGN
     { SID_ATTR_PARA_SNAPTOGRID, SFX_ITEM_POOLABLE },    // RES_PARATR_SNAPTOGRID
     { SID_ATTR_BORDER_CONNECT, SFX_ITEM_POOLABLE },     // RES_PARATR_CONNECT_BORDER
 
-	{ SID_ATTR_PARA_OUTLINE_LEVEL, SFX_ITEM_POOLABLE }, // RES_PARATR_OUTLINELEVEL //#outline level,zhaojianwei
+    { SID_ATTR_PARA_OUTLINE_LEVEL, SFX_ITEM_POOLABLE }, // RES_PARATR_OUTLINELEVEL //#outline level,zhaojianwei
 
-	// --> OD 2008-02-19 #refactorlists#
     { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_LIST_ID
     { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_LIST_LEVEL
     { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_LIST_ISRESTART
     { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_LIST_RESTARTVALUE
     { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_LIST_ISCOUNTED
-    // <--
 
     { 0, SFX_ITEM_POOLABLE },							// RES_FILL_ORDER
 	{ 0, SFX_ITEM_POOLABLE }, 							// RES_FRM_SIZE
@@ -524,29 +519,30 @@ void _InitCore()
 	aAttrTab[ RES_CHRATR_DUMMY2 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_CHRATR_DUMMY2 );
 // CharakterAttr - Dummies
 
-    aAttrTab[ RES_TXTATR_AUTOFMT- POOLATTR_BEGIN ] = new SwFmtAutoFmt;
-    aAttrTab[ RES_TXTATR_INETFMT - POOLATTR_BEGIN ] = new SwFmtINetFmt( aEmptyStr, aEmptyStr );
     aAttrTab[ RES_TXTATR_REFMARK - POOLATTR_BEGIN ] = new SwFmtRefMark( aEmptyStr );
     aAttrTab[ RES_TXTATR_TOXMARK - POOLATTR_BEGIN ] = new SwTOXMark;
-	aAttrTab[ RES_TXTATR_CHARFMT- POOLATTR_BEGIN ] = new SwFmtCharFmt( 0 );
-    aAttrTab[ RES_TXTATR_CJK_RUBY - POOLATTR_BEGIN ] = new SwFmtRuby( aEmptyStr );
-    aAttrTab[ RES_TXTATR_UNKNOWN_CONTAINER - POOLATTR_BEGIN ] = new SvXMLAttrContainerItem( RES_TXTATR_UNKNOWN_CONTAINER );
     aAttrTab[ RES_TXTATR_META - POOLATTR_BEGIN ] = SwFmtMeta::CreatePoolDefault(RES_TXTATR_META);
     aAttrTab[ RES_TXTATR_METAFIELD - POOLATTR_BEGIN ] = SwFmtMeta::CreatePoolDefault(RES_TXTATR_METAFIELD);
+    aAttrTab[ RES_TXTATR_AUTOFMT- POOLATTR_BEGIN ] = new SwFmtAutoFmt;
+    aAttrTab[ RES_TXTATR_INETFMT - POOLATTR_BEGIN ] = new SwFmtINetFmt( aEmptyStr, aEmptyStr );
+    aAttrTab[ RES_TXTATR_CHARFMT- POOLATTR_BEGIN ] = new SwFmtCharFmt( 0 );
+    aAttrTab[ RES_TXTATR_CJK_RUBY - POOLATTR_BEGIN ] = new SwFmtRuby( aEmptyStr );
+    aAttrTab[ RES_TXTATR_UNKNOWN_CONTAINER - POOLATTR_BEGIN ] = new SvXMLAttrContainerItem( RES_TXTATR_UNKNOWN_CONTAINER );
 
     aAttrTab[ RES_TXTATR_FIELD- POOLATTR_BEGIN ] = new SwFmtFld;
-	aAttrTab[ RES_TXTATR_FLYCNT - POOLATTR_BEGIN ] = new SwFmtFlyCnt( 0 );
+    aAttrTab[ RES_TXTATR_FLYCNT - POOLATTR_BEGIN ] = new SwFmtFlyCnt( 0 );
     aAttrTab[ RES_TXTATR_FTN - POOLATTR_BEGIN ] = new SwFmtFtn;
 
 // TextAttr - Dummies
     aAttrTab[ RES_TXTATR_DUMMY4 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY4 );
     aAttrTab[ RES_TXTATR_DUMMY3 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY3 );
-	aAttrTab[ RES_TXTATR_DUMMY1 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY1 );
-	aAttrTab[ RES_TXTATR_DUMMY2 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY2 );
+    aAttrTab[ RES_TXTATR_DUMMY1 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY1 );
+    aAttrTab[ RES_TXTATR_DUMMY2 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY2 );
     aAttrTab[ RES_TXTATR_DUMMY5 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY5 );
 // TextAttr - Dummies
-	aAttrTab[ RES_CHRATR_BIDIRTL - POOLATTR_BEGIN ] = new SfxInt16Item( RES_CHRATR_BIDIRTL, sal_Int16(-1) );
-	aAttrTab[ RES_CHRATR_IDCTHINT - POOLATTR_BEGIN ] = new SfxInt16Item( RES_CHRATR_IDCTHINT, sal_Int16(-1) );
+
+    aAttrTab[ RES_CHRATR_BIDIRTL - POOLATTR_BEGIN ] = new SfxInt16Item( RES_CHRATR_BIDIRTL, sal_Int16(-1) );
+    aAttrTab[ RES_CHRATR_IDCTHINT - POOLATTR_BEGIN ] = new SfxInt16Item( RES_CHRATR_IDCTHINT, sal_Int16(-1) );
 
     aAttrTab[ RES_PARATR_LINESPACING- POOLATTR_BEGIN ] = new SvxLineSpacingItem( LINE_SPACE_DEFAULT_HEIGHT, RES_PARATR_LINESPACING );
     aAttrTab[ RES_PARATR_ADJUST- POOLATTR_BEGIN ] = new SvxAdjustItem( SVX_ADJUST_LEFT, RES_PARATR_ADJUST );

Modified: openoffice/branches/alg/aw080/main/sw/source/core/crsr/bookmrk.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sw/source/core/crsr/bookmrk.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sw/source/core/crsr/bookmrk.cxx (original)
+++ openoffice/branches/alg/aw080/main/sw/source/core/crsr/bookmrk.cxx Thu Nov  7 14:29:41 2013
@@ -187,6 +187,7 @@ namespace sw { namespace mark
     DdeBookmark::DdeBookmark(const SwPaM& aPaM)
         : MarkBase(aPaM, MarkBase::GenerateNewName(our_sNamePrefix))
         , m_aRefObj(NULL)
+        , mbInDestruction( false )
     { }
 
     void DdeBookmark::SetRefObject(SwServerObject* pObj)
@@ -204,6 +205,7 @@ namespace sw { namespace mark
 
     DdeBookmark::~DdeBookmark()
     {
+        mbInDestruction = true;
         if( m_aRefObj.Is() )
         {
             if(m_aRefObj->HasDataLinks())

Modified: openoffice/branches/alg/aw080/main/sw/source/core/crsr/crstrvl.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sw/source/core/crsr/crstrvl.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sw/source/core/crsr/crstrvl.cxx (original)
+++ openoffice/branches/alg/aw080/main/sw/source/core/crsr/crstrvl.cxx Thu Nov  7 14:29:41 2013
@@ -630,9 +630,9 @@ void lcl_MakeFldLst( _SetGetExpFlds& rLs
 	bool bSubType = nSubType != USHRT_MAX;
 	for( SwFmtFld* pFmtFld = aIter.First(); pFmtFld; pFmtFld = aIter.Next() )
 		if( 0 != ( pTxtFld = pFmtFld->GetTxtFld() ) &&
-			( !bChkInpFlag || ((SwSetExpField*)pTxtFld->GetFld().GetFld())
+			( !bChkInpFlag || ((SwSetExpField*)pTxtFld->GetFmtFld().GetField())
 								->GetInputFlag() ) &&
-			(!bSubType || (pFmtFld->GetFld()->GetSubType()
+			(!bSubType || (pFmtFld->GetField()->GetSubType()
 								& 0xff ) == nSubType ))
 		{
 			SwCntntFrm* pCFrm;
@@ -1119,7 +1119,7 @@ sal_Bool SwCrsrShell::GetContentAtPos( c
                     pTxtAttr = pTxtNd->GetTxtAttrForCharAt(
                             aPos.nContent.GetIndex(), RES_TXTATR_FIELD );
 					const SwField* pFld = pTxtAttr
-											? pTxtAttr->GetFld().GetFld()
+											? pTxtAttr->GetFmtFld().GetField()
 											: 0;
 					if( SwContentAtPos::SW_CLICKFIELD & rCntntAtPos.eCntntAtPos &&
 						pFld && !pFld->HasClickHdl() )
@@ -1545,7 +1545,7 @@ const SwPostItField* SwCrsrShell::GetPos
         {
             SwTxtAttr* pTxtAttr = pTxtNd->GetTxtAttrForCharAt(
                     pCursorPos->nContent.GetIndex(), RES_TXTATR_FIELD );
-            const SwField* pFld = pTxtAttr ? pTxtAttr->GetFld().GetFld() : 0;
+            const SwField* pFld = pTxtAttr ? pTxtAttr->GetFmtFld().GetField() : 0;
             if ( pFld && pFld->Which()== RES_POSTITFLD )
             {
                 pPostItFld = static_cast<const SwPostItField*>(pFld);

Modified: openoffice/branches/alg/aw080/main/sw/source/core/crsr/findtxt.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sw/source/core/crsr/findtxt.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sw/source/core/crsr/findtxt.cxx (original)
+++ openoffice/branches/alg/aw080/main/sw/source/core/crsr/findtxt.cxx Thu Nov  7 14:29:41 2013
@@ -57,9 +57,13 @@ using namespace util;
 
 String *ReplaceBackReferences( const SearchOptions& rSearchOpt, SwPaM* pPam );
 
-String& lcl_CleanStr( const SwTxtNode& rNd, xub_StrLen nStart,
-			          xub_StrLen& rEnde, SvULongs& rArr, String& rRet,
-                      bool bRemoveSoftHyphen )
+String& lcl_CleanStr(
+    const SwTxtNode& rNd,
+    xub_StrLen nStart,
+    xub_StrLen& rEnde,
+    SvULongs& rArr,
+    String& rRet,
+    const bool bRemoveSoftHyphen )
 {
 	rRet = rNd.GetTxt();
 	if( rArr.Count() )
@@ -121,14 +125,14 @@ String& lcl_CleanStr( const SwTxtNode& r
             const SwTxtAttr* pHt = (*pHts)[n];
             if ( pHt->HasDummyChar() && (nStt >= nStart) )
             {
-	    		//JP 17.05.00: Task 75806 ask for ">=" and not for ">"
-       			switch( pHt->Which() )
-        		{
-	        	case RES_TXTATR_FLYCNT:
-		        case RES_TXTATR_FTN:
-   			    case RES_TXTATR_FIELD:
-		        case RES_TXTATR_REFMARK:
-   			    case RES_TXTATR_TOXMARK:
+                //JP 17.05.00: Task 75806 ask for ">=" and not for ">"
+                switch( pHt->Which() )
+                {
+                case RES_TXTATR_FLYCNT:
+                case RES_TXTATR_FTN:
+                case RES_TXTATR_FIELD:
+                case RES_TXTATR_REFMARK:
+                case RES_TXTATR_TOXMARK:
                 case RES_TXTATR_META:
                 case RES_TXTATR_METAFIELD:
                     {
@@ -140,28 +144,28 @@ String& lcl_CleanStr( const SwTxtNode& r
                         //				wir sie einfach.
                         //				Fuer das Ende merken wir uns die Ersetzungen und entferenen
                         //				hinterher alle am Stringende (koenten ja 'normale' 0x7f drinstehen
-   			    		sal_Bool bEmpty = RES_TXTATR_FIELD != pHt->Which() ||
+                        sal_Bool bEmpty = RES_TXTATR_FIELD != pHt->Which() ||
                             !(static_cast<SwTxtFld const*>(pHt)
-                                ->GetFld().GetFld()->ExpandField(true).Len());
-	    			    if ( bEmpty && nStart == nAkt )
-   			    		{
-    			    		rArr.Insert( nAkt, rArr.Count() );
-	    			    	--rEnde;
-		    			    rRet.Erase( nAkt, 1 );
-   			    		}
-    			    	else
-   		    			{
-    		    			if ( bEmpty )
-	    		    			aReplaced.Insert( nAkt, aReplaced.Count() );
-		    		    	rRet.SetChar( nAkt, '\x7f' );
-   			    		}
-   				    }
-       				break;
-   			    default:
+                                ->GetFmtFld().GetField()->ExpandField(true).Len());
+                        if ( bEmpty && nStart == nAkt )
+                        {
+                            rArr.Insert( nAkt, rArr.Count() );
+                            --rEnde;
+                            rRet.Erase( nAkt, 1 );
+                        }
+                        else
+                        {
+                            if ( bEmpty )
+                                aReplaced.Insert( nAkt, aReplaced.Count() );
+                            rRet.SetChar( nAkt, '\x7f' );
+                        }
+                    }
+                    break;
+                default:
                     ASSERT( false, "unknown case in lcl_CleanStr" )
-		    	    break;
-		        }
-	        }
+                    break;
+                }
+            }
             ++n;
         }
 
@@ -200,7 +204,7 @@ xub_StrLen GetPostIt(xub_StrLen aCount,c
 			aIndex++;
 			const SwTxtAttr* pTxtAttr = (*pHts)[i];
 			if ( (pTxtAttr->Which()==RES_TXTATR_FIELD) &&
-					(pTxtAttr->GetFld().GetFld()->Which()==RES_POSTITFLD))
+					(pTxtAttr->GetFmtFld().GetField()->Which()==RES_POSTITFLD))
 			{
 				aCount--;
 				if (!aCount)
@@ -213,7 +217,7 @@ xub_StrLen GetPostIt(xub_StrLen aCount,c
 	{
 		const SwTxtAttr* pTxtAttr = (*pHts)[i];
 		if ( (pTxtAttr->Which()==RES_TXTATR_FIELD) &&
-				(pTxtAttr->GetFld().GetFld()->Which()==RES_POSTITFLD))
+				(pTxtAttr->GetFmtFld().GetField()->Which()==RES_POSTITFLD))
 			break;
 		else
 			aIndex++;
@@ -308,7 +312,7 @@ sal_uInt8 SwPaM::Find( const SearchOptio
 					xub_StrLen aPos = *(*pHts)[i]->GetStart();
 					const SwTxtAttr* pTxtAttr = (*pHts)[i];
 					if ( (pTxtAttr->Which()==RES_TXTATR_FIELD) &&
-								(pTxtAttr->GetFld().GetFld()->Which()==RES_POSTITFLD))
+								(pTxtAttr->GetFmtFld().GetField()->Which()==RES_POSTITFLD))
 					{
 						if ( (aPos >= nStart) && (aPos <= nEnde) )
 							aNumberPostits++;
@@ -391,7 +395,7 @@ sal_uInt8 SwPaM::Find( const SearchOptio
 						if ( (bSrchForward && (GetPostIt(aLoop + aIgnore,pHts) < pHts->Count()) ) || ( !bSrchForward && (aLoop!=0) ))
 						{
 							const SwTxtAttr* pTxtAttr = bSrchForward ?  (*pHts)[GetPostIt(aLoop+aIgnore,pHts)] : (*pHts)[GetPostIt(aLoop+aIgnore-1,pHts)];
-							if ( pPostItMgr && pPostItMgr->SearchReplace(((SwTxtFld*)pTxtAttr)->GetFld(),rSearchOpt,bSrchForward) )
+							if ( pPostItMgr && pPostItMgr->SearchReplace(((SwTxtFld*)pTxtAttr)->GetFmtFld(),rSearchOpt,bSrchForward) )
 							{
 								bFound = true ;
 								break;

Modified: openoffice/branches/alg/aw080/main/sw/source/core/doc/doc.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/alg/aw080/main/sw/source/core/doc/doc.cxx?rev=1539657&r1=1539656&r2=1539657&view=diff
==============================================================================
--- openoffice/branches/alg/aw080/main/sw/source/core/doc/doc.cxx (original)
+++ openoffice/branches/alg/aw080/main/sw/source/core/doc/doc.cxx Thu Nov  7 14:29:41 2013
@@ -1083,7 +1083,7 @@ struct _PostItFld : public _SetGetExpFld
     
     SwPostItField* GetPostIt() const
     { 
-        return (SwPostItField*) GetFld()->GetFld().GetFld();
+        return (SwPostItField*) GetTxtFld()->GetFmtFld().GetField();
     }
 };
 
@@ -1101,7 +1101,7 @@ sal_uInt16 _PostItFld::GetPageNo( 
     //Bereichs ermittelt werden.
     rVirtPgNo = 0;
     sal_uInt16 nPos = GetCntnt();
-    SwIterator<SwTxtFrm,SwTxtNode> aIter( GetFld()->GetTxtNode() );
+    SwIterator<SwTxtFrm,SwTxtNode> aIter( GetTxtFld()->GetTxtNode() );
     for( SwTxtFrm* pFrm = aIter.First(); pFrm;  pFrm = aIter.Next() )
     {
         if( pFrm->GetOfst() > nPos ||
@@ -1233,7 +1233,7 @@ void SwDoc::CalculatePagesForPrinting(
     bool bIsPDFExport,
     sal_Int32 nDocPageCount )
 {
-    const sal_Int32 nContent = rOptions.getIntValue( "PrintContent", 0 );
+    const sal_Int64 nContent = rOptions.getIntValue( "PrintContent", 0 );
     const bool bPrintSelection = nContent == 2;
 
     // properties to take into account when calcualting the set of pages
@@ -1594,7 +1594,7 @@ void SwDoc::CalculatePagePairsForProspec
     // 0 -> print all pages (default if aPageRange is empty)
     // 1 -> print range according to PageRange
     // 2 -> print selection
-    const sal_Int32 nContent = rOptions.getIntValue( "PrintContent", 0 );
+    const sal_Int64 nContent = rOptions.getIntValue( "PrintContent", 0 );
     if (0 == nContent)
     {
         // set page range to print to 'all pages'
@@ -1667,7 +1667,9 @@ void SwDoc::CalculatePagePairsForProspec
 
     // dann sorge mal dafuer, das alle Seiten in der richtigen
     // Reihenfolge stehen:
-    sal_uInt16 nSPg = 0, nEPg = aVec.size(), nStep = 1;
+    sal_uInt16 nSPg = 0;
+    sal_uInt32 nEPg = aVec.size();
+    sal_uInt16 nStep = 1;
     if ( 0 == (nEPg & 1 ))      // ungerade gibt es nicht!
         --nEPg;
 
@@ -1755,7 +1757,7 @@ void SwDoc::UpdateDocStat( SwDocStat& rS
                 if (pFmtFld->IsFldInDoc())
                 {
                     SwPostItField const * const pField(
-                        static_cast<SwPostItField const*>(pFmtFld->GetFld()));
+                        static_cast<SwPostItField const*>(pFmtFld->GetField()));
                     rStat.nAllPara += pField->GetNumberOfParagraphs();
                 }
             }
@@ -1868,25 +1870,25 @@ const SwFmtRefMark* SwDoc::GetRefMark( s
 	// OS 25.06.96: ab jetzt wird immer die Anzahl der Referenzen returnt
 sal_uInt16 SwDoc::GetRefMarks( SvStringsDtor* pNames ) const
 {
-	const SfxPoolItem* pItem;
-	const SwTxtRefMark* pTxtRef;
+    const SfxPoolItem* pItem;
+    const SwTxtRefMark* pTxtRef;
 
-	sal_uInt32 nMaxItems = GetAttrPool().GetItemCount2( RES_TXTATR_REFMARK );
-	sal_uInt32 nCount = 0;
-	for( sal_uInt32 n = 0; n < nMaxItems; ++n )
-		if( 0 != (pItem = GetAttrPool().GetItem2( RES_TXTATR_REFMARK, n )) &&
-			0 != (pTxtRef = ((SwFmtRefMark*)pItem)->GetTxtRefMark()) &&
-			&pTxtRef->GetTxtNode().GetNodes() == &GetNodes() )
-		{
-			if( pNames )
-			{
-				String* pTmp = new String( ((SwFmtRefMark*)pItem)->GetRefName() );
-				pNames->Insert( pTmp, nCount );
-			}
-			nCount ++;
-		}
+    const sal_uInt32 nMaxItems = GetAttrPool().GetItemCount2( RES_TXTATR_REFMARK );
+    sal_uInt16 nCount = 0;
+    for( sal_uInt32 n = 0; n < nMaxItems; ++n )
+        if( 0 != (pItem = GetAttrPool().GetItem2( RES_TXTATR_REFMARK, n )) &&
+            0 != (pTxtRef = ((SwFmtRefMark*)pItem)->GetTxtRefMark()) &&
+            &pTxtRef->GetTxtNode().GetNodes() == &GetNodes() )
+        {
+            if( pNames )
+            {
+                String* pTmp = new String( ((SwFmtRefMark*)pItem)->GetRefName() );
+                pNames->Insert( pTmp, nCount );
+            }
+            ++nCount;
+        }
 
-	return nCount;
+    return nCount;
 }
 
 bool SwDoc::IsLoaded() const
@@ -2475,8 +2477,8 @@ sal_Bool SwDoc::ConvertFieldsToText()
             if (!bSkip)
             {
                 sal_Bool bInHeaderFooter = IsInHeaderFooter(SwNodeIndex(*pTxtFld->GetpTxtNode()));
-                const SwFmtFld& rFmtFld = pTxtFld->GetFld();
-                const SwField*  pField = rFmtFld.GetFld();
+                const SwFmtFld& rFmtFld = pTxtFld->GetFmtFld();
+                const SwField*  pField = rFmtFld.GetField();
 
                 //#i55595# some fields have to be excluded in headers/footers
                 sal_uInt16 nWhich = pField->GetTyp()->Which();
@@ -2710,7 +2712,7 @@ SwField * SwDoc::GetField(const SwPositi
 {
     SwTxtFld * const pAttr = GetTxtFld(rPos);
 
-    return (pAttr) ? const_cast<SwField *>( pAttr->GetFld().GetFld() ) : 0;
+    return (pAttr) ? const_cast<SwField *>( pAttr->GetFmtFld().GetField() ) : 0;
 }
 
 SwTxtFld * SwDoc::GetTxtFld(const SwPosition & rPos)



Mime
View raw message