[Libreoffice-commits] core.git: Branch 'libreoffice-5-3' - sc/source

Kohei Yoshida kohei.yoshida at collabora.com
Wed Mar 22 00:14:41 UTC 2017


 sc/source/ui/vba/vbarange.cxx |   16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

New commits:
commit 5112b09445069015de6f82524ea9247a1d73f35e
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Thu Mar 16 18:55:42 2017 -0400

    tdf#104383: prevent crash during file load.
    
    Apparently xView may be null sometimes.
    
    Change-Id: Icef81159eeaf5c9bdb0a91e036019b820952d20b
    (cherry picked from commit 273d7cec114ace96c5d891fdb24ddc36be3a2376)
    Reviewed-on: https://gerrit.libreoffice.org/35520
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Tested-by: Jenkins <ci at libreoffice.org>

diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx
index f68d5495a9d8..af3a4e6c48e1 100644
--- a/sc/source/ui/vba/vbarange.cxx
+++ b/sc/source/ui/vba/vbarange.cxx
@@ -4215,8 +4215,20 @@ ScVbaRange::ApplicationRange( const uno::Reference< uno::XComponentContext >& xC
         }
     }
 
-    uno::Reference< sheet::XSpreadsheetView > xView( getCurrentExcelDoc(xContext)->getCurrentController(), uno::UNO_QUERY );
-    uno::Reference< table::XCellRange > xSheetRange( xView->getActiveSheet(), uno::UNO_QUERY_THROW );
+    uno::Reference<table::XCellRange> xSheetRange;
+
+    try
+    {
+        uno::Reference<sheet::XSpreadsheetView> xView(
+            getCurrentExcelDoc(xContext)->getCurrentController(), uno::UNO_QUERY_THROW);
+
+        xSheetRange.set(xView->getActiveSheet(), uno::UNO_QUERY_THROW);
+    }
+    catch (const uno::Exception&)
+    {
+        return uno::Reference<excel::XRange>();
+    }
+
     ScVbaRange* pRange = new ScVbaRange( excel::getUnoSheetModuleObj( xSheetRange ), xContext, xSheetRange );
     uno::Reference< excel::XRange > xVbSheetRange( pRange );
     return pRange->Range( Cell1, Cell2, true );


More information about the Libreoffice-commits mailing list