vcl/source/app/help.cxx | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-)
New commits: commit e1486b3d6658596e9dd27e712f5161553df08b1d Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Mon Oct 5 16:38:15 2020 +0200 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Tue Oct 6 13:32:33 2020 +0200 Don't reuse tooltip window in different context This causes interference to other views due to usage of global references in Online. Change-Id: Ib9346881d4e48ac1ce3456d386806582ade82255 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103994 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> diff --git a/vcl/source/app/help.cxx b/vcl/source/app/help.cxx index b5a7cb4cc057..b54213ed1501 100644 --- a/vcl/source/app/help.cxx +++ b/vcl/source/app/help.cxx @@ -498,21 +498,10 @@ void ImplShowHelpWindow( vcl::Window* pParent, sal_uInt16 nHelpWinStyle, QuickHe { SAL_WARN_IF( pHelpWin == pParent, "vcl", "HelpInHelp ?!" ); - if ( ( rHelpText.isEmpty() - || ( pHelpWin->GetWinStyle() != nHelpWinStyle ) - ) - && aHelpData.mbRequestingHelp - ) - { - // remove help window if no HelpText or - // other help mode. but keep it if we are scrolling, ie not requesting help - bool bWasVisible = pHelpWin->IsVisible(); - if ( bWasVisible ) - bNoDelay = true; // display it quickly if we were already in quick help mode - pHelpWin = nullptr; - ImplDestroyHelpWindow( bWasVisible ); - } - else + bool bRemoveHelp = (rHelpText.isEmpty() || (pHelpWin->GetWinStyle() != nHelpWinStyle)) + && aHelpData.mbRequestingHelp; + + if (!bRemoveHelp && pHelpWin->GetParent() == pParent) { bool const bUpdate = (pHelpWin->GetHelpText() != rHelpText) || ((pHelpWin->GetHelpArea() != rHelpArea) && aHelpData.mbRequestingHelp); @@ -530,6 +519,16 @@ void ImplShowHelpWindow( vcl::Window* pParent, sal_uInt16 nHelpWinStyle, QuickHe pHelpWin->Invalidate(); } } + else + { + // remove help window if no HelpText or + // other help mode. but keep it if we are scrolling, ie not requesting help + bool bWasVisible = pHelpWin->IsVisible(); + if ( bWasVisible ) + bNoDelay = true; // display it quickly if we were already in quick help mode + pHelpWin = nullptr; + ImplDestroyHelpWindow( bWasVisible ); + } } if (pHelpWin || rHelpText.isEmpty()) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits