summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@novell.com>2011-02-10 17:34:10 +0000
committerMichael Meeks <michael.meeks@novell.com>2011-02-15 12:47:28 +0000
commit49e315c467d4800ae08c0149a4f5f38eb64b16f6 (patch)
treefd6ab10915f992be56df6397dec1004b17011311 /vcl
parent05cf0251b51784c5f3b44aeef27ccc07b01f1dcd (diff)
catch exceptions from failing UNO-ness, fdo#33785 backstop.
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/gdi/gdimtf.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/vcl/source/gdi/gdimtf.cxx b/vcl/source/gdi/gdimtf.cxx
index fdb6ab0e6b4a..ce7aa4764d76 100644
--- a/vcl/source/gdi/gdimtf.cxx
+++ b/vcl/source/gdi/gdimtf.cxx
@@ -512,7 +512,10 @@ bool GDIMetaFile::ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, S
if (!win)
win = Application::GetFirstTopLevelWindow();
- if (win) {
+ if (!win)
+ return false;
+
+ try {
const uno::Reference<rendering::XCanvas>& xCanvas = win->GetCanvas ();
Size aSize (rDestSize.Width () + 1, rDestSize.Height () + 1);
const uno::Reference<rendering::XBitmap>& xBitmap = xCanvas->getDevice ()->createCompatibleAlphaBitmap (vcl::unotools::integerSize2DFromSize( aSize));
@@ -566,6 +569,10 @@ bool GDIMetaFile::ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, S
}
}
}
+ } catch( uno::RuntimeException& ) {
+ throw; // runtime errors are fatal
+ } catch( uno::Exception& ) {
+ // ignore errors, no way of reporting them here
}
return false;