tdf#137662 ignore focus in dropdown if dropdown is hidden
Change-Id: I0263fb832f31c6926ac63cab79ce8fd0b9548581
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106244
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 2d10bc2..4e1fae3 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -15630,9 +15630,17 @@ public:
{
if (m_pEntry && gtk_widget_has_focus(m_pEntry))
return true;
return gtk_widget_has_focus(m_pToggleButton) ||
gtk_widget_has_focus(GTK_WIDGET(m_pOverlayButton)) ||
gtk_widget_has_focus(GTK_WIDGET(m_pTreeView)) || GtkInstanceWidget::has_focus();
if (gtk_widget_has_focus(m_pToggleButton))
return true;
if (gtk_widget_get_visible(GTK_WIDGET(m_pMenuWindow)))
{
if (gtk_widget_has_focus(GTK_WIDGET(m_pOverlayButton)) || gtk_widget_has_focus(GTK_WIDGET(m_pTreeView)))
return true;
}
return GtkInstanceWidget::has_focus();
}
virtual bool changed_by_direct_pick() const override