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

Reply via email to