diff options
-rw-r--r-- | gtk/gtkcoloreditor.c | 14 | ||||
-rw-r--r-- | gtk/ui/gtkcoloreditor.ui | 2 |
2 files changed, 8 insertions, 8 deletions
diff --git a/gtk/gtkcoloreditor.c b/gtk/gtkcoloreditor.c index 2fc1bd46a6..9bf2108efc 100644 --- a/gtk/gtkcoloreditor.c +++ b/gtk/gtkcoloreditor.c @@ -126,13 +126,13 @@ entry_apply (GtkWidget *entry, g_free (text); } -static gboolean -entry_focus_out (GtkWidget *entry, - GdkEventFocus *event, - GtkColorEditor *editor) +static void +entry_focus_changed (GtkWidget *entry, + GParamSpec *pspec, + GtkColorEditor *editor) { - entry_apply (entry, editor); - return FALSE; + if (!gtk_widget_has_focus (entry)) + entry_apply (entry, editor); } static void @@ -487,7 +487,7 @@ gtk_color_editor_class_init (GtkColorEditorClass *class) gtk_widget_class_bind_template_callback (widget_class, get_child_position); gtk_widget_class_bind_template_callback (widget_class, entry_text_changed); gtk_widget_class_bind_template_callback (widget_class, entry_apply); - gtk_widget_class_bind_template_callback (widget_class, entry_focus_out); + gtk_widget_class_bind_template_callback (widget_class, entry_focus_changed); gtk_widget_class_bind_template_callback (widget_class, popup_edit); } diff --git a/gtk/ui/gtkcoloreditor.ui b/gtk/ui/gtkcoloreditor.ui index 725231e3c3..c38f771511 100644 --- a/gtk/ui/gtkcoloreditor.ui +++ b/gtk/ui/gtkcoloreditor.ui @@ -60,7 +60,7 @@ </object> </child> <signal name="activate" handler="entry_apply" swapped="no"/> - <signal name="focus-out-event" handler="entry_focus_out" swapped="no"/> + <signal name="notify::has-focus" handler="entry_focus_changed" swapped="no"/> <signal name="notify::text" handler="entry_text_changed" swapped="no"/> </object> <packing> |