vcl/source/window/winproc.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
New commits: commit d4ed266849b558b041acb740a18bd81fa39bc582 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Mon Mar 29 20:57:07 2021 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Tue Mar 30 09:03:42 2021 +0200 tdf#133350 vcl focus loss: fix unwanted cancel of non-menu popup Regression from commit f21d2b48bd68424a96aa6cd5572e368208378291 (tdf#121723 vcl: leave popup mode on focus loss of toplevel windows, 2018-11-26), the original motivation was to cancel menu popus (toplevel window menus, context menus). Fix the unwanted cancel of ImplPopupFloatWin/ImplListBoxFloatingWindow by restricting the cancel to menu floating windows. This keeps the original bug fixed and allows setting e.g. the font size in the toolbar's popup part. Change-Id: Ida503d0c13dc5a96287bfa31b6c2ce9d4a53e940 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113326 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx index 3f94d112b751..03c73072c5a5 100644 --- a/vcl/source/window/winproc.cxx +++ b/vcl/source/window/winproc.cxx @@ -1898,8 +1898,10 @@ static void ImplHandleLoseFocus( vcl::Window* pWindow ) // Make sure that no menu is visible when a toplevel window loses focus. VclPtr<FloatingWindow> pFirstFloat = pSVData->mpWinData->mpFirstFloat; - if (pFirstFloat && !pWindow->GetParent()) + if (pFirstFloat && pFirstFloat->IsMenuFloatingWindow() && !pWindow->GetParent()) + { pFirstFloat->EndPopupMode(FloatWinPopupEndFlags::Cancel | FloatWinPopupEndFlags::CloseAll); + } } namespace { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits