vcl/unx/gtk3/gtkinst.cxx | 6 ++++++
1 file changed, 6 insertions(+)
New commits:
commit 53200987febc88b0f6f1a8fb15dee7ada9cf805f
Author: Caolán McNamara <[email protected]>
AuthorDate: Wed Dec 8 16:33:43 2021 +0000
Commit: Caolán McNamara <[email protected]>
CommitDate: Thu Dec 9 09:32:44 2021 +0100
Related: tdf#145786 cooperate between our own grabs
Change-Id: I97a1868c3f086b7f414d18d0fb4daa1c6d09846f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126514
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <[email protected]>
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index c993e16fc4ce..88926218bd0b 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -9933,7 +9933,13 @@ void MoveWindowContentsToPopover(GtkWindow* pMenuHack,
GtkWidget* pPopover, GtkW
pFrame->UnblockTooltip();
if (bHadFocus)
+ {
+ GdkSurface* pParentSurface = pParent ? widget_get_surface(pParent) :
nullptr;
+ void* pParentIsPopover = pParentSurface ?
g_object_get_data(G_OBJECT(pParentSurface), "g-lo-InstancePopup") : nullptr;
+ if (pParentIsPopover)
+ do_grab(pAnchor);
gtk_widget_grab_focus(pAnchor);
+ }
}
#endif