summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
Diffstat (limited to 'svtools')
-rw-r--r--svtools/source/graphic/grfmgr.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/svtools/source/graphic/grfmgr.cxx b/svtools/source/graphic/grfmgr.cxx
index f02b185b4bda..2c4746d7ed16 100644
--- a/svtools/source/graphic/grfmgr.cxx
+++ b/svtools/source/graphic/grfmgr.cxx
@@ -102,6 +102,8 @@ GraphicObject::GraphicObject( const GraphicObject& rGraphicObj, const GraphicMan
ImplConstruct();
ImplAssignGraphicData();
ImplSetGraphicManager( pMgr, NULL, &rGraphicObj );
+ if( rGraphicObj.HasUserData() && rGraphicObj.IsSwappedOut() )
+ SetSwapState();
}
GraphicObject::GraphicObject( const OString& rUniqueID, const GraphicManager* pMgr ) :
@@ -351,8 +353,9 @@ GraphicObject& GraphicObject::operator=( const GraphicObject& rGraphicObj )
ImplAssignGraphicData();
mbAutoSwapped = false;
mpMgr = rGraphicObj.mpMgr;
-
mpMgr->ImplRegisterObj( *this, maGraphic, NULL, &rGraphicObj );
+ if( rGraphicObj.HasUserData() && rGraphicObj.IsSwappedOut() )
+ SetSwapState();
}
return *this;
@@ -427,6 +430,7 @@ void GraphicObject::SetUserData()
void GraphicObject::SetUserData( const OUString& rUserData )
{
maUserData = rUserData;
+ SetSwapState();
}
void GraphicObject::SetSwapStreamHdl()