diff options
author | Matthias Clasen <mclasen@redhat.com> | 2022-05-15 07:52:10 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2022-06-06 14:25:41 -0400 |
commit | 8b328f1d6d0f50b708b58849fb968de25f6b2612 (patch) | |
tree | c974d0751d7e78a8c4cd6974e99370359920128d /gobject/gsignal.c | |
parent | 2b437402e89da3146909144db0df448dd71e5044 (diff) | |
download | glib-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.c | 10 |
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; |