[gtk+] GtkActionHelper: two small fixups in _set_target_value()
- From: Ryan Lortie <ryanl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkActionHelper: two small fixups in _set_target_value()
- Date: Wed, 22 Aug 2012 04:56:31 +0000 (UTC)
commit 81e76746ffc1a9ad77ab7c3c7b9f43e344401e3c
Author: Ryan Lortie <desrt desrt ca>
Date: Wed Aug 22 00:54:57 2012 -0400
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 files changed, 8 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkactionhelper.c b/gtk/gtkactionhelper.c
index 6047a43..a3a0c46 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;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]