summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2022-05-22 07:25:20 -0400
committerMatthias Clasen <mclasen@redhat.com>2022-05-23 09:21:00 -0400
commitb1a6324466d614dcf6e140a0acf1a03e5b02787d (patch)
tree09aca02586feb65dee6c87857031f7a1dad0e735
parentb7be0f95a8aadf24472729799bdcfe52e62ae5b9 (diff)
downloadglib-finalize-speedups2.tar.gz
gobject: Don't do duplicate workfinalize-speedups2
We already remove the signal handlers and weak refs in g_object_real_dispose. No need to do it again after dispose, and before the data is cleaned out for good in finalize.
-rw-r--r--gobject/gobject.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/gobject/gobject.c b/gobject/gobject.c
index 4cb6ea206..65cf02ca4 100644
--- a/gobject/gobject.c
+++ b/gobject/gobject.c
@@ -3682,15 +3682,6 @@ g_object_unref (gpointer _object)
}
/* we are still in the process of taking away the last ref */
- g_signal_handlers_destroy (object);
- {
- GQuark keys[3] = {
- quark_closure_array,
- quark_weak_refs,
- quark_weak_locations,
- };
- g_datalist_id_remove_multiple (&object->qdata, keys, G_N_ELEMENTS (keys));
- }
/* decrement the last reference */
old_ref = g_atomic_int_add (&object->ref_count, -1);