diff options
author | Michael Meeks <michael.meeks@novell.com> | 2011-02-10 17:34:10 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@novell.com> | 2011-02-15 12:47:28 +0000 |
commit | 49e315c467d4800ae08c0149a4f5f38eb64b16f6 (patch) | |
tree | fd6ab10915f992be56df6397dec1004b17011311 /vcl | |
parent | 05cf0251b51784c5f3b44aeef27ccc07b01f1dcd (diff) |
catch exceptions from failing UNO-ness, fdo#33785 backstop.
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/gdi/gdimtf.cxx | 9 |
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; |