diff options
author | Vincent Untz <vuntz@gnome.org> | 2006-08-10 00:35:53 +0000 |
---|---|---|
committer | Vincent Untz <vuntz@src.gnome.org> | 2006-08-10 00:35:53 +0000 |
commit | 63887271859061f09e7818c06676d8441794c18b (patch) | |
tree | 3545fbe6912fc6f9329e4f6482ff0ce0bf66a531 | |
parent | 951206290d6417f05f03003a3710e868d6178c59 (diff) | |
download | libwnck-63887271859061f09e7818c06676d8441794c18b.tar.gz |
don't unref NULL variables, and set source ids to 0 after removing them
2006-08-10 Vincent Untz <vuntz@gnome.org>
* libwnck/tasklist.c: (wnck_tasklist_finalize): don't unref NULL
variables, and set source ids to 0 after removing them
Fix a crash I just got :-)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | libwnck/tasklist.c | 17 |
2 files changed, 19 insertions, 4 deletions
@@ -1,3 +1,9 @@ +2006-08-10 Vincent Untz <vuntz@gnome.org> + + * libwnck/tasklist.c: (wnck_tasklist_finalize): don't unref NULL + variables, and set source ids to 0 after removing them + Fix a crash I just got :-) + 2006-08-08 Vincent Untz <vuntz@gnome.org> * configure.in: post-release bump to 2.15.92 diff --git a/libwnck/tasklist.c b/libwnck/tasklist.c index 3fd3137..98fa779 100644 --- a/libwnck/tasklist.c +++ b/libwnck/tasklist.c @@ -742,10 +742,16 @@ wnck_tasklist_finalize (GObject *object) tasklist->priv->class_group_hash = NULL; if (tasklist->priv->activate_timeout_id != 0) - gtk_timeout_remove (tasklist->priv->activate_timeout_id); + { + gtk_timeout_remove (tasklist->priv->activate_timeout_id); + tasklist->priv->activate_timeout_id = 0; + } if (tasklist->priv->idle_callback_tag != 0) - g_source_remove (tasklist->priv->idle_callback_tag); + { + g_source_remove (tasklist->priv->idle_callback_tag); + tasklist->priv->idle_callback_tag = 0; + } if (tasklist->priv->tooltips) { @@ -757,8 +763,11 @@ wnck_tasklist_finalize (GObject *object) tasklist->priv->size_hints = NULL; tasklist->priv->size_hints_len = 0; - g_object_unref (tasklist->priv->background); - tasklist->priv->background = NULL; + if (tasklist->priv->background) + { + g_object_unref (tasklist->priv->background); + tasklist->priv->background = NULL; + } g_free (tasklist->priv); tasklist->priv = NULL; |