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-10 17:35:20 +0000 |
commit | 29e6053738f10979a9a282d4c14de1af0e5538ab (patch) | |
tree | 88781052450f1b4200cea5bf23ea1fca2c2dd921 | |
parent | 5f8990c7ace7ffaf34e887c28f345ccc304d2548 (diff) |
catch exceptions from failing UNO-ness, fdo#33785 backstop.
-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 faf0d020bb..41e1227858 100644 --- a/vcl/source/gdi/gdimtf.cxx +++ b/vcl/source/gdi/gdimtf.cxx @@ -514,7 +514,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)); @@ -568,6 +571,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; |