Blob Blame History Raw
From b2e9afcdfb0d9cd4d5c1b1073ad325403a13ef32 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 18 Apr 2014 09:45:38 +0100
Subject: [PATCH] Related: rhbz#1088625 PresenterPaintManager seen as NULL

Change-Id: I3b7ba51d48ebc5f9304f6125de0595d41d50ad4d
---
 sdext/source/presenter/PresenterToolBar.cxx | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/sdext/source/presenter/PresenterToolBar.cxx b/sdext/source/presenter/PresenterToolBar.cxx
index dd0ca91..4c825ed 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 (
-- 
1.9.0