diff options
author | Johannes Schmid <jhs@gnome.org> | 2010-05-12 18:31:27 +0200 |
---|---|---|
committer | Johannes Schmid <jhs@gnome.org> | 2010-05-12 18:31:27 +0200 |
commit | 5b204714a69f15e400d2575b4648fb5b4566a2eb (patch) | |
tree | 1262531abd9c8b8130a144478efb6edb4d26d892 | |
parent | 3cb055e8f17eb1efd90d46237ac94bd1a22e7224 (diff) | |
download | glade-5b204714a69f15e400d2575b4648fb5b4566a2eb.tar.gz |
Free the signals correctly
This code is never reached but was wrong nevertheless.
-rw-r--r-- | gladeui/glade-widget-adaptor.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gladeui/glade-widget-adaptor.c b/gladeui/glade-widget-adaptor.c index 262d4122..70308fc6 100644 --- a/gladeui/glade-widget-adaptor.c +++ b/gladeui/glade-widget-adaptor.c @@ -684,7 +684,9 @@ glade_widget_adaptor_finalize (GObject *object) g_list_foreach (adaptor->packing_props, (GFunc) glade_property_class_free, NULL); g_list_free (adaptor->packing_props); - g_list_foreach (adaptor->signals, (GFunc) glade_signal_free, NULL); + /* Be careful, this list holds GladeSignalClass* not GladeSignal, + * thus g_free is enough as all members are const */ + g_list_foreach (adaptor->signals, (GFunc) g_free, NULL); g_list_free (adaptor->signals); @@ -723,8 +725,6 @@ glade_widget_adaptor_finalize (GObject *object) NULL); g_list_free (adaptor->packing_actions); } - - g_free (adaptor->priv); G_OBJECT_CLASS (parent_class)->finalize (object); } @@ -1178,6 +1178,7 @@ static void glade_widget_adaptor_init (GladeWidgetAdaptor *adaptor) { adaptor->priv = GLADE_WIDGET_ADAPTOR_GET_PRIVATE (adaptor); + } static void @@ -3698,3 +3699,4 @@ glade_widget_adaptor_create_editable (GladeWidgetAdaptor *adaptor, return GLADE_WIDGET_ADAPTOR_GET_CLASS (adaptor)->create_editable (adaptor, type); } + |