631ae2d
From 0da2906aa147050c3e99846d5908a60b99df69ba Mon Sep 17 00:00:00 2001
631ae2d
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
631ae2d
Date: Tue, 2 Aug 2011 16:56:30 +0100
631ae2d
Subject: [PATCH] Resolves: rhbz#693265 fix crash from unhandled exception
631ae2d
631ae2d
---
631ae2d
 vcl/source/gdi/impgraph.cxx |   28 ++++++++++++++++++++++++----
631ae2d
 1 files changed, 24 insertions(+), 4 deletions(-)
631ae2d
631ae2d
diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx
631ae2d
index 3b6d9a4..6fdb163 100644
631ae2d
--- a/vcl/source/gdi/impgraph.cxx
631ae2d
+++ b/vcl/source/gdi/impgraph.cxx
631ae2d
@@ -1077,7 +1077,14 @@ sal_Bool ImpGraphic::ImplReadEmbedded( SvStream& rIStm, sal_Bool bSwap )
631ae2d
 
631ae2d
                 if( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ).getLength() )
631ae2d
                 {
631ae2d
-                    SvStream* pOStm = ::utl::UcbStreamHelper::CreateStream( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ), STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
631ae2d
+                    SvStream* pOStm = NULL;
631ae2d
+                    try
631ae2d
+                    {
631ae2d
+                        pOStm = ::utl::UcbStreamHelper::CreateStream( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ), STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
631ae2d
+                    }
631ae2d
+                    catch( const ::com::sun::star::uno::Exception& )
631ae2d
+                    {
631ae2d
+                    }
631ae2d
 
631ae2d
                     if( pOStm )
631ae2d
                     {
631ae2d
@@ -1282,8 +1289,14 @@ sal_Bool ImpGraphic::ImplSwapOut()
631ae2d
 
631ae2d
             if( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ).getLength() )
631ae2d
             {
631ae2d
-                SvStream* pOStm = ::utl::UcbStreamHelper::CreateStream( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ), STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
631ae2d
-
631ae2d
+                SvStream* pOStm = NULL;
631ae2d
+                try
631ae2d
+                {
631ae2d
+                    pOStm = ::utl::UcbStreamHelper::CreateStream( aTmpURL.GetMainURL( INetURLObject::NO_DECODE ), STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
631ae2d
+                }
631ae2d
+                catch( const ::com::sun::star::uno::Exception& )
631ae2d
+                {
631ae2d
+                }
631ae2d
                 if( pOStm )
631ae2d
                 {
631ae2d
                     pOStm->SetVersion( SOFFICE_FILEFORMAT_50 );
631ae2d
@@ -1382,7 +1395,14 @@ sal_Bool ImpGraphic::ImplSwapIn()
631ae2d
 
631ae2d
         if( aSwapURL.Len() )
631ae2d
         {
631ae2d
-            SvStream* pIStm = ::utl::UcbStreamHelper::CreateStream( aSwapURL, STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
631ae2d
+            SvStream* pIStm = NULL;
631ae2d
+            try
631ae2d
+            {
631ae2d
+                pIStm = ::utl::UcbStreamHelper::CreateStream( aSwapURL, STREAM_READWRITE | STREAM_SHARE_DENYWRITE );
631ae2d
+            }
631ae2d
+            catch( const ::com::sun::star::uno::Exception& )
631ae2d
+            {
631ae2d
+            }
631ae2d
 
631ae2d
             if( pIStm )
631ae2d
             {
631ae2d
-- 
631ae2d
1.7.6
631ae2d