diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-12-08 16:33:43 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-12-09 09:32:44 +0100 |
commit | 53200987febc88b0f6f1a8fb15dee7ada9cf805f (patch) | |
tree | 11fe1814eda0c07798aec3b94730a61ae26bb40f /vcl/unx | |
parent | fc839f3262254949fe96b408dec9094f7ef4fc88 (diff) |
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 <caolanm@redhat.com>
Diffstat (limited to 'vcl/unx')
-rw-r--r-- | vcl/unx/gtk3/gtkinst.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
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 |