diff options
Diffstat (limited to 'gtk/gtksignal.c')
-rw-r--r-- | gtk/gtksignal.c | 6 |
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); } } |