sdext/source/presenter/PresenterProtocolHandler.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 14c4b0d11211cc27fb3a0cae246d8e971d6d8f9a
Author:     Patrick Luby <patrick.l...@collabora.com>
AuthorDate: Fri Apr 21 14:34:39 2023 -0400
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Sat Apr 22 10:22:19 2023 +0200

    tdf#154546 skip dispatch when presenter controller is not set
    
    mpPresenterController is sometimes unset and this will cause a
    crash when pressing the presenter console's Exchange button.
    
    Change-Id: Ibfc866d573ce0c535df5c8fdbd6d358353784854
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150456
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Reviewed-by: Patrick Luby <plub...@neooffice.org>
    (cherry picked from commit 6f4fb52116c08b0c6247dc4828442f4e3644e9eb)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150775

diff --git a/sdext/source/presenter/PresenterProtocolHandler.cxx 
b/sdext/source/presenter/PresenterProtocolHandler.cxx
index a32a73b6180e..96c538876de6 100644
--- a/sdext/source/presenter/PresenterProtocolHandler.cxx
+++ b/sdext/source/presenter/PresenterProtocolHandler.cxx
@@ -307,7 +307,10 @@ Reference<frame::XDispatch> SAL_CALL 
PresenterProtocolHandler::queryDispatch (
 
     Reference<frame::XDispatch> xDispatch;
 
-    if (rURL.Protocol == "vnd.org.libreoffice.presenterscreen:")
+    // tdf#154546 skip dispatch when presenter controller is not set
+    // mpPresenterController is sometimes unset and this will cause a
+    // crash when pressing the presenter console's Exchange button.
+    if (rURL.Protocol == "vnd.org.libreoffice.presenterscreen:" && 
mpPresenterController.is())
     {
         xDispatch.set(Dispatch::Create(rURL.Path, mpPresenterController));
     }

Reply via email to