[Libreoffice-commits] core.git: Branch 'libreoffice-7-0' - sc/source

Mike Kaganski (via logerrit) logerrit at kemper.freedesktop.org
Thu Jul 30 19:27:00 UTC 2020


 sc/source/ui/view/prevwsh.cxx |   19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

New commits:
commit a9457b3c18f6030b19d8cb1aada3709649a05460
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Sat Jul 25 18:55:18 2020 +0300
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Jul 30 21:26:25 2020 +0200

    tdf#130559: don't fail creation of preview when BackingComp can't add...
    
    an event listener. This crashes when loading a document with print preview
    set as active view.
    
    Regression after commit 128ecffe53394c1f045521c2efb42ea03a319f4b.
    
    Change-Id: I5dc421f7c08dd70d51772fac5432f33cd9a1491a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99442
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    (cherry picked from commit e3b695f6a1525ac6b32abd27a6368a7e8b7d09fa)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99740
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/ui/view/prevwsh.cxx b/sc/source/ui/view/prevwsh.cxx
index dbb23ca68e42..6c3836ce90a5 100644
--- a/sc/source/ui/view/prevwsh.cxx
+++ b/sc/source/ui/view/prevwsh.cxx
@@ -153,10 +153,21 @@ ScPreviewShell::ScPreviewShell( SfxViewFrame* pViewFrame,
 {
     Construct( &pViewFrame->GetWindow() );
 
-    SfxShell::SetContextBroadcasterEnabled(true);
-    SfxShell::SetContextName(vcl::EnumContext::GetContextName(vcl::EnumContext::Context::Printpreview));
-    SfxShell::BroadcastContextForActivation(true);
-
+    try
+    {
+        SfxShell::SetContextBroadcasterEnabled(true);
+        SfxShell::SetContextName(
+            vcl::EnumContext::GetContextName(vcl::EnumContext::Context::Printpreview));
+        SfxShell::BroadcastContextForActivation(true);
+    }
+    catch (const css::uno::RuntimeException& e)
+    {
+        // tdf#130559: allow BackingComp to fail adding listener when opening document
+        css::uno::Reference<css::lang::XServiceInfo> xServiceInfo(e.Context, css::uno::UNO_QUERY);
+        if (!xServiceInfo || !xServiceInfo->supportsService("com.sun.star.frame.StartModule"))
+            throw;
+        SAL_WARN("sc.ui", "Opening file from StartModule straight into print preview");
+    }
 
     auto& pNotebookBar = pViewFrame->GetWindow().GetSystemWindow()->GetNotebookBar();
     if (pNotebookBar)


More information about the Libreoffice-commits mailing list