Kaydet (Commit) c399eea8 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

SdrGraphLink::pGrafObj can never be null

Change-Id: Ifeb77e61040accd1f7f7ed31d0340c66fbab39a5
üst 58720da2
...@@ -136,11 +136,11 @@ const Graphic ImpLoadLinkedGraphic( const OUString& aFileName, const OUString& a ...@@ -136,11 +136,11 @@ const Graphic ImpLoadLinkedGraphic( const OUString& aFileName, const OUString& a
class SdrGraphicUpdater; class SdrGraphicUpdater;
class SdrGraphicLink : public sfx2::SvBaseLink class SdrGraphicLink : public sfx2::SvBaseLink
{ {
SdrGrafObj* pGrafObj; SdrGrafObj& rGrafObj;
SdrGraphicUpdater* pGraphicUpdater; SdrGraphicUpdater* pGraphicUpdater;
public: public:
SdrGraphicLink(SdrGrafObj* pObj); SdrGraphicLink(SdrGrafObj& rObj);
virtual ~SdrGraphicLink(); virtual ~SdrGraphicLink();
virtual void Closed(); virtual void Closed();
...@@ -219,9 +219,9 @@ void SAL_CALL SdrGraphicUpdater::run(void) ...@@ -219,9 +219,9 @@ void SAL_CALL SdrGraphicUpdater::run(void)
} }
} }
SdrGraphicLink::SdrGraphicLink(SdrGrafObj* pObj) SdrGraphicLink::SdrGraphicLink(SdrGrafObj& rObj)
: ::sfx2::SvBaseLink( ::sfx2::LINKUPDATE_ONCALL, SOT_FORMATSTR_ID_SVXB ) : ::sfx2::SvBaseLink( ::sfx2::LINKUPDATE_ONCALL, SOT_FORMATSTR_ID_SVXB )
, pGrafObj( pObj ) , rGrafObj( rObj )
, pGraphicUpdater( NULL ) , pGraphicUpdater( NULL )
{ {
SetSynchron( false ); SetSynchron( false );
...@@ -235,7 +235,7 @@ SdrGraphicLink::~SdrGraphicLink() ...@@ -235,7 +235,7 @@ SdrGraphicLink::~SdrGraphicLink()
void SdrGraphicLink::DataChanged( const Graphic& rGraphic ) void SdrGraphicLink::DataChanged( const Graphic& rGraphic )
{ {
pGrafObj->ImpSetLinkedGraphic( rGraphic ); rGrafObj.ImpSetLinkedGraphic( rGraphic );
} }
void SdrGraphicLink::RemoveGraphicUpdater() void SdrGraphicLink::RemoveGraphicUpdater()
...@@ -246,23 +246,23 @@ void SdrGraphicLink::RemoveGraphicUpdater() ...@@ -246,23 +246,23 @@ void SdrGraphicLink::RemoveGraphicUpdater()
::sfx2::SvBaseLink::UpdateResult SdrGraphicLink::DataChanged( ::sfx2::SvBaseLink::UpdateResult SdrGraphicLink::DataChanged(
const OUString& rMimeType, const ::com::sun::star::uno::Any & rValue ) const OUString& rMimeType, const ::com::sun::star::uno::Any & rValue )
{ {
SdrModel* pModel = pGrafObj ? pGrafObj->GetModel() : 0; SdrModel* pModel = rGrafObj.GetModel();
sfx2::LinkManager* pLinkManager= pModel ? pModel->GetLinkManager() : 0; sfx2::LinkManager* pLinkManager= pModel ? pModel->GetLinkManager() : 0;
if( pLinkManager && rValue.hasValue() ) if( pLinkManager && rValue.hasValue() )
{ {
pLinkManager->GetDisplayNames( this, 0, &pGrafObj->aFileName, 0, &pGrafObj->aFilterName ); pLinkManager->GetDisplayNames( this, 0, &rGrafObj.aFileName, 0, &rGrafObj.aFilterName );
Graphic aGraphic; Graphic aGraphic;
if( sfx2::LinkManager::GetGraphicFromAny( rMimeType, rValue, aGraphic )) if( sfx2::LinkManager::GetGraphicFromAny( rMimeType, rValue, aGraphic ))
{ {
pGrafObj->NbcSetGraphic( aGraphic ); rGrafObj.NbcSetGraphic( aGraphic );
pGrafObj->ActionChanged(); rGrafObj.ActionChanged();
} }
else if( SotExchange::GetFormatIdFromMimeType( rMimeType ) != sfx2::LinkManager::RegisterStatusInfoId() ) else if( SotExchange::GetFormatIdFromMimeType( rMimeType ) != sfx2::LinkManager::RegisterStatusInfoId() )
{ {
// broadcasting, to update slide sorter // broadcasting, to update slide sorter
pGrafObj->BroadcastObjectChange(); rGrafObj.BroadcastObjectChange();
} }
} }
return SUCCESS; return SUCCESS;
...@@ -271,9 +271,9 @@ void SdrGraphicLink::RemoveGraphicUpdater() ...@@ -271,9 +271,9 @@ void SdrGraphicLink::RemoveGraphicUpdater()
void SdrGraphicLink::Closed() void SdrGraphicLink::Closed()
{ {
// close connection; set pLink of the object to NULL, as link instance is just about getting destructed. // close connection; set pLink of the object to NULL, as link instance is just about getting destructed.
pGrafObj->ForceSwapIn(); rGrafObj.ForceSwapIn();
pGrafObj->pGraphicLink=NULL; rGrafObj.pGraphicLink=NULL;
pGrafObj->ReleaseGraphicLink(); rGrafObj.ReleaseGraphicLink();
SvBaseLink::Closed(); SvBaseLink::Closed();
} }
...@@ -283,14 +283,14 @@ void SdrGraphicLink::UpdateAsynchron() ...@@ -283,14 +283,14 @@ void SdrGraphicLink::UpdateAsynchron()
{ {
if ( pGraphicUpdater ) if ( pGraphicUpdater )
{ {
if ( pGraphicUpdater->GraphicLinkChanged( pGrafObj->GetFileName() ) ) if ( pGraphicUpdater->GraphicLinkChanged( rGrafObj.GetFileName() ) )
{ {
pGraphicUpdater->Terminate(); pGraphicUpdater->Terminate();
pGraphicUpdater = new SdrGraphicUpdater( pGrafObj->GetFileName(), pGrafObj->GetFilterName(), *this ); pGraphicUpdater = new SdrGraphicUpdater( rGrafObj.GetFileName(), rGrafObj.GetFilterName(), *this );
} }
} }
else else
pGraphicUpdater = new SdrGraphicUpdater( pGrafObj->GetFileName(), pGrafObj->GetFilterName(), *this ); pGraphicUpdater = new SdrGraphicUpdater( rGrafObj.GetFileName(), rGrafObj.GetFilterName(), *this );
} }
} }
...@@ -635,7 +635,7 @@ void SdrGrafObj::ImpLinkAnmeldung() ...@@ -635,7 +635,7 @@ void SdrGrafObj::ImpLinkAnmeldung()
{ {
if (!aFileName.isEmpty()) if (!aFileName.isEmpty())
{ {
pGraphicLink = new SdrGraphicLink( this ); pGraphicLink = new SdrGraphicLink( *this );
pLinkManager->InsertFileLink( pLinkManager->InsertFileLink(
*pGraphicLink, OBJECT_CLIENT_GRF, aFileName, (aFilterName.isEmpty() ? NULL : &aFilterName), NULL); *pGraphicLink, OBJECT_CLIENT_GRF, aFileName, (aFilterName.isEmpty() ? NULL : &aFilterName), NULL);
pGraphicLink->Connect(); pGraphicLink->Connect();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment