summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Sparber <julian@sparber.net>2019-10-17 14:32:24 +0200
committerJulian Sparber <julian@sparber.net>2019-10-17 14:32:24 +0200
commitac398471872d8c2df61428df85a657427de581a5 (patch)
treee351126194438798916df8f1374a8c636507c469
parent4beed12317d291d07f0cdcbceb9fd94f500f51c6 (diff)
downloadgtk+-ac398471872d8c2df61428df85a657427de581a5.tar.gz
GtkEntry: Make GtkEntry: gtk_entry_grab_focus_without_selecting () behave like gtk_widget_grab_focus ()
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2204
-rw-r--r--gtk/gtkentry.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index eec28a5ba9..297dd0fe63 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -5039,7 +5039,14 @@ void
_gtk_entry_grab_focus (GtkEntry *entry,
gboolean select_all)
{
+ if (!gtk_widget_get_can_focus (GTK_WIDGET (entry)))
+ return;
+
+ if (!gtk_widget_is_sensitive (GTK_WIDGET (entry)))
+ return;
+
GTK_WIDGET_CLASS (gtk_entry_parent_class)->grab_focus (GTK_WIDGET (entry));
+
if (select_all)
gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1);
}