summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/source/app/help.cxx19
1 files changed, 13 insertions, 6 deletions
diff --git a/vcl/source/app/help.cxx b/vcl/source/app/help.cxx
index b7cf9f4d4b6b..784dc3ea86fb 100644
--- a/vcl/source/app/help.cxx
+++ b/vcl/source/app/help.cxx
@@ -573,13 +573,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();