diff options
Diffstat (limited to 'svtools')
-rw-r--r-- | svtools/source/graphic/grfmgr.cxx | 6 |
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() |