summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-11-23 11:42:20 +0000
committerAdolfo Jayme Barrientos <fitojb@ubuntu.com>2020-11-24 15:07:05 +0100
commitcd9cbb072f7dee244e8ed71ad9372f15067b69b6 (patch)
tree5172a91478eb16dfbb10c9aa0a5aeb1f2ed2e7ae
parentResolves: rhbz#1900428 don't crash on invalid index used in StarBasic macro (diff)
downloadcore-cd9cbb072f7dee244e8ed71ad9372f15067b69b6.tar.gz
core-cd9cbb072f7dee244e8ed71ad9372f15067b69b6.zip
tdf#137662 ignore focus in dropdown if dropdown is hidden
Change-Id: I0263fb832f31c6926ac63cab79ce8fd0b9548581 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106245 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx14
1 files changed, 11 insertions, 3 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index d3bad43b2052..0290359bebce 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -14634,9 +14634,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