diff options
Diffstat (limited to 'sdext')
-rw-r--r-- | sdext/source/presenter/PresenterToolBar.cxx | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/sdext/source/presenter/PresenterToolBar.cxx b/sdext/source/presenter/PresenterToolBar.cxx index dd0ca9170e38..4c825edce7f5 100644 --- a/sdext/source/presenter/PresenterToolBar.cxx +++ b/sdext/source/presenter/PresenterToolBar.cxx @@ -457,7 +457,10 @@ void PresenterToolBar::InvalidateArea ( const awt::Rectangle& rRepaintBox, const bool bSynchronous) { - mpPresenterController->GetPaintManager()->Invalidate( + ::boost::shared_ptr<PresenterPaintManager> xManager(mpPresenterController->GetPaintManager()); + if (!xManager) + return; + xManager->Invalidate( mxWindow, rRepaintBox, bSynchronous); @@ -467,7 +470,11 @@ void PresenterToolBar::RequestLayout (void) { mbIsLayoutPending = true; - mpPresenterController->GetPaintManager()->Invalidate(mxWindow); + ::boost::shared_ptr<PresenterPaintManager> xManager(mpPresenterController->GetPaintManager()); + if (!xManager) + return; + + xManager->Invalidate(mxWindow); } geometry::RealSize2D PresenterToolBar::GetMinimalSize (void) @@ -822,7 +829,10 @@ void PresenterToolBar::Layout ( } // The whole window has to be repainted. - mpPresenterController->GetPaintManager()->Invalidate(mxWindow); + ::boost::shared_ptr<PresenterPaintManager> xManager(mpPresenterController->GetPaintManager()); + if (!xManager) + return; + xManager->Invalidate(mxWindow); } geometry::RealSize2D PresenterToolBar::CalculatePartSize ( |