[Libreoffice-commits] core.git: vcl/source

Michael Meeks (via logerrit) logerrit at kemper.freedesktop.org
Sun Dec 22 21:21:57 UTC 2019


 vcl/source/app/help.cxx |   19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

New commits:
commit 0b7b2026b0e0a07931da933d5a144d2c00113538
Author:     Michael Meeks <michael.meeks at collabora.com>
AuthorDate: Wed Dec 11 23:58:08 2019 +0000
Commit:     Ashod Nakashian <ashnakash at gmail.com>
CommitDate: Sun Dec 22 22:21:08 2019 +0100

    lok: avoid crash cleaning up help-windows with multiple views.
    
    Change-Id: Ic57018396de7730d9fa4fb3b4803a221cb9678da
    Reviewed-on: https://gerrit.libreoffice.org/84999
    Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
    Tested-by: Michael Meeks <michael.meeks at collabora.com>
    (cherry picked from commit 435659fd7e401353fc114246813b811190362293)
    Reviewed-on: https://gerrit.libreoffice.org/85350
    Tested-by: Jenkins
    Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>

diff --git a/vcl/source/app/help.cxx b/vcl/source/app/help.cxx
index 8f8efdd38eb5..b5a7cb4cc057 100644
--- a/vcl/source/app/help.cxx
+++ b/vcl/source/app/help.cxx
@@ -562,13 +562,20 @@ void ImplDestroyHelpWindow( bool bUpdateHideTime )
 void ImplDestroyHelpWindow(ImplSVHelpData& rHelpData, bool bUpdateHideTime)
 {
     VclPtr<HelpTextWindow> pHelpWin = rHelpData.mpHelpWin;
-    if ( pHelpWin )
+    if( pHelpWin )
     {
-        vcl::Window * pWindow = pHelpWin->GetParent()->ImplGetFrameWindow();
-        // find out screen area covered by system help window
-        tools::Rectangle aInvRect( pHelpWin->GetWindowExtentsRelative( pWindow ) );
-        if( pHelpWin->IsVisible() )
-            pWindow->Invalidate( aInvRect );
+        vcl::Window * pParent = pHelpWin->GetParent();
+        if( pParent )
+        {
+            VclPtr<vcl::Window> pWindow( pParent->ImplGetFrameWindow() );
+            if( pWindow )
+            {
+                // find out screen area covered by system help window
+                tools::Rectangle aInvRect( pHelpWin->GetWindowExtentsRelative( pWindow ) );
+                if( pHelpWin->IsVisible() )
+                    pWindow->Invalidate( aInvRect );
+            }
+        }
         rHelpData.mpHelpWin = nullptr;
         rHelpData.mbKeyboardHelp = false;
         pHelpWin->Hide();


More information about the Libreoffice-commits mailing list