diff options
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/app/help.cxx | 19 |
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(); |