summaryrefslogtreecommitdiff
path: root/gobject/gsignal.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2022-05-15 07:52:10 -0400
committerMatthias Clasen <mclasen@redhat.com>2022-06-06 14:25:41 -0400
commit8b328f1d6d0f50b708b58849fb968de25f6b2612 (patch)
treec974d0751d7e78a8c4cd6974e99370359920128d /gobject/gsignal.c
parent2b437402e89da3146909144db0df448dd71e5044 (diff)
downloadglib-8b328f1d6d0f50b708b58849fb968de25f6b2612.tar.gz
Keep a separate flag for notify handlers
We currently keep a flag for whether an object has ever had any signal handlers. But even if it had signal handlers, it may not have any notify handlers. Keep that information separately, so we can speed up property setting.
Diffstat (limited to 'gobject/gsignal.c')
-rw-r--r--gobject/gsignal.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gobject/gsignal.c b/gobject/gsignal.c
index fb85fd6ba..ddd23fb73 100644
--- a/gobject/gsignal.c
+++ b/gobject/gsignal.c
@@ -2422,9 +2422,9 @@ g_signal_connect_closure_by_id (gpointer instance,
Handler *handler = handler_new (signal_id, instance, after);
if (G_TYPE_IS_OBJECT (node->itype))
- _g_object_set_has_signal_handler ((GObject *)instance);
+ _g_object_set_has_signal_handler ((GObject *) instance, signal_id);
- handler_seq_no = handler->sequential_number;
+ handler_seq_no = handler->sequential_number;
handler->detail = detail;
handler->closure = g_closure_ref (closure);
g_closure_sink (closure);
@@ -2489,9 +2489,9 @@ g_signal_connect_closure (gpointer instance,
Handler *handler = handler_new (signal_id, instance, after);
if (G_TYPE_IS_OBJECT (node->itype))
- _g_object_set_has_signal_handler ((GObject *)instance);
+ _g_object_set_has_signal_handler ((GObject *) instance, signal_id);
- handler_seq_no = handler->sequential_number;
+ handler_seq_no = handler->sequential_number;
handler->detail = detail;
handler->closure = g_closure_ref (closure);
g_closure_sink (closure);
@@ -2593,7 +2593,7 @@ g_signal_connect_data (gpointer instance,
Handler *handler = handler_new (signal_id, instance, after);
if (G_TYPE_IS_OBJECT (node->itype))
- _g_object_set_has_signal_handler ((GObject *)instance);
+ _g_object_set_has_signal_handler ((GObject *) instance, signal_id);
handler_seq_no = handler->sequential_number;
handler->detail = detail;