summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-11-20 09:03:19 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-11-20 09:21:44 +0000
commitbae01385c895a100b5371879889e606927cff877 (patch)
tree91c06aa39e751ef34a5c631169264cefe8d1e552
parent142e89e6c2f5ae292cf70bffaf2d9dbc8c9a2ecd (diff)
Resolves: fdo#71527 don't crash in presenter console
but we're now dropping slides in there for some reason so this is just a don't crash band-aid and not the fix for the deeper problem Change-Id: I2f70471d03979ffb86b6289e7a432f4505c1b556
-rw-r--r--sd/source/ui/presenter/SlideRenderer.cxx10
-rw-r--r--sdext/source/presenter/PresenterPaneContainer.cxx3
2 files changed, 10 insertions, 3 deletions
diff --git a/sd/source/ui/presenter/SlideRenderer.cxx b/sd/source/ui/presenter/SlideRenderer.cxx
index 9cdfcf8cc19d..98db0b119a02 100644
--- a/sd/source/ui/presenter/SlideRenderer.cxx
+++ b/sd/source/ui/presenter/SlideRenderer.cxx
@@ -134,9 +134,15 @@ Reference<rendering::XBitmap> SlideRenderer::createPreviewForCanvas (
cppcanvas::BitmapCanvasSharedPtr pCanvas (cppcanvas::VCLFactory::getInstance().createCanvas(
Reference<rendering::XBitmapCanvas>(rxCanvas, UNO_QUERY)));
if (pCanvas.get() != NULL)
- return cppcanvas::VCLFactory::getInstance().createBitmap(
+ {
+ cppcanvas::BitmapSharedPtr xBitmap(
+ cppcanvas::VCLFactory::getInstance().createBitmap(
pCanvas,
- CreatePreview(rxSlide, rMaximalSize, nSuperSampleFactor))->getUNOBitmap();
+ CreatePreview(rxSlide, rMaximalSize, nSuperSampleFactor)));
+ if (xBitmap.get() == NULL)
+ return NULL;
+ return xBitmap->getUNOBitmap();
+ }
else
return NULL;
}
diff --git a/sdext/source/presenter/PresenterPaneContainer.cxx b/sdext/source/presenter/PresenterPaneContainer.cxx
index 105c1240f760..c8de7bfbdab3 100644
--- a/sdext/source/presenter/PresenterPaneContainer.cxx
+++ b/sdext/source/presenter/PresenterPaneContainer.cxx
@@ -192,7 +192,8 @@ PresenterPaneContainer::SharedPaneDescriptor
{
pDescriptor->mxView = rxView;
pDescriptor->mpViewBackground = rpViewBackground;
- pDescriptor->mxPane->SetBackground(rpViewBackground);
+ if (pDescriptor->mxPane.is())
+ pDescriptor->mxPane->SetBackground(rpViewBackground);
try
{
if ( ! pDescriptor->maViewInitialization.empty())