From 81e76746ffc1a9ad77ab7c3c7b9f43e344401e3c Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Wed, 22 Aug 2012 00:54:57 -0400 Subject: [PATCH] GtkActionHelper: two small fixups in _set_target_value() First, ensure we always consume floating values, as documented. Second (and more serious), don't try to query the action if the action name is not set yet. This will cause crashes... --- gtk/gtkactionhelper.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gtk/gtkactionhelper.c b/gtk/gtkactionhelper.c index 6047a43cf9..a3a0c46a07 100644 --- a/gtk/gtkactionhelper.c +++ b/gtk/gtkactionhelper.c @@ -523,7 +523,10 @@ gtk_action_helper_set_action_target_value (GtkActionHelper *helper, return; if (target_value && helper->target && g_variant_equal (target_value, helper->target)) - return; + { + g_variant_unref (g_variant_ref_sink (target_value)); + return; + } if (helper->target) { @@ -534,6 +537,10 @@ gtk_action_helper_set_action_target_value (GtkActionHelper *helper, if (target_value) helper->target = g_variant_ref_sink (target_value); + /* The action_name has not yet been set. Don't do anything yet. */ + if (helper->action_name == NULL) + return; + was_enabled = helper->enabled; was_active = helper->active;