vcl/unx/gtk3/gtkinst.cxx | 6 ++++++ 1 file changed, 6 insertions(+) New commits: commit 27487243c3ee31927e17a0859614ffa0df7881d7 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Wed Dec 8 16:33:43 2021 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Thu Dec 9 09:32:27 2021 +0100
Related: tdf#145786 cooperate between our own grabs Change-Id: I97a1868c3f086b7f414d18d0fb4daa1c6d09846f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126558 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index 6f4c47815744..1e227e87e1b5 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