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

Kohei Yoshida kohei.yoshida at collabora.com
Wed Mar 22 00:59:34 UTC 2017


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

New commits:
commit 118f5e797d7274e5f37d877b8fa3b93e53366991
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/35521
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx
index 95f1d2b4d0b4..00155dbd4992 100644
--- a/sc/source/ui/vba/vbarange.cxx
+++ b/sc/source/ui/vba/vbarange.cxx
@@ -4217,8 +4217,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