summaryrefslogtreecommitdiff
path: root/gtk/gtksignal.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtksignal.c')
-rw-r--r--gtk/gtksignal.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gtk/gtksignal.c b/gtk/gtksignal.c
index f87f337018..a35840f656 100644
--- a/gtk/gtksignal.c
+++ b/gtk/gtksignal.c
@@ -1151,11 +1151,13 @@ gtk_signal_handlers_destroy (GtkObject *object)
GtkHandler *next;
next = handler->next;
- gtk_signal_handler_unref (handler, object);
+ if (handler->id > 0)
+ gtk_signal_handler_unref (handler, object);
handler = next;
}
handler = gtk_object_get_data_by_id (object, handler_quark);
- gtk_signal_handler_unref (handler, object);
+ if (handler->id > 0)
+ gtk_signal_handler_unref (handler, object);
}
}