diff -r 0caba451e775 svx/inc/svx/svdograf.hxx --- a/svx/inc/svx/svdograf.hxx Wed Jan 06 11:29:46 2010 +0100 +++ b/svx/inc/svx/svdograf.hxx Wed Jan 06 14:05:54 2010 +0100 @@ -144,6 +144,7 @@ void SetGraphicObject( const GraphicObject& rGrfObj ); const GraphicObject& GetGraphicObject( bool bForceSwapIn = false) const; + void NbcSetGraphic(const Graphic& rGrf); void SetGraphic(const Graphic& rGrf); const Graphic& GetGraphic() const; diff -r 0caba451e775 svx/source/svdraw/svdograf.cxx --- a/svx/source/svdraw/svdograf.cxx Wed Jan 06 11:29:46 2010 +0100 +++ b/svx/source/svdraw/svdograf.cxx Wed Jan 06 14:05:54 2010 +0100 @@ -133,14 +133,8 @@ Graphic aGraphic; if( SvxLinkManager::GetGraphicFromAny( rMimeType, rValue, aGraphic )) { - GraphicType eOldGraphicType = pGrafObj->GetGraphicType(); // kein Hereinswappen - const sal_Bool bIsChanged = pModel->IsChanged(); - - pGrafObj->SetGraphic( aGraphic ); - if( GRAPHIC_NONE != eOldGraphicType ) - pGrafObj->SetChanged(); - else - pModel->SetChanged( bIsChanged ); + pGrafObj->NbcSetGraphic( aGraphic ); + pGrafObj->ActionChanged(); } else if( SotExchange::GetFormatIdFromMimeType( rMimeType ) != SvxLinkManager::RegisterStatusInfoId() ) @@ -303,11 +297,16 @@ // ----------------------------------------------------------------------------- -void SdrGrafObj::SetGraphic( const Graphic& rGrf ) +void SdrGrafObj::NbcSetGraphic( const Graphic& rGrf ) { pGraphic->SetGraphic( rGrf ); pGraphic->SetUserData(); mbIsPreview = sal_False; +} + +void SdrGrafObj::SetGraphic( const Graphic& rGrf ) +{ + NbcSetGraphic(rGrf); SetChanged(); BroadcastObjectChange(); }