diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-11-23 11:42:20 +0000 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2020-11-24 15:07:05 +0100 |
commit | cd9cbb072f7dee244e8ed71ad9372f15067b69b6 (patch) | |
tree | 5172a91478eb16dfbb10c9aa0a5aeb1f2ed2e7ae | |
parent | Resolves: rhbz#1900428 don't crash on invalid index used in StarBasic macro (diff) | |
download | core-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.cxx | 14 |
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 |