[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - vcl/source
Szymon KÅos (via logerrit)
logerrit at kemper.freedesktop.org
Tue Oct 6 11:33:08 UTC 2020
vcl/source/app/help.cxx | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
New commits:
commit e1486b3d6658596e9dd27e712f5161553df08b1d
Author: Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Mon Oct 5 16:38:15 2020 +0200
Commit: Szymon Kłos <szymon.klos at 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 <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos at 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())
More information about the Libreoffice-commits
mailing list