[glib] Invalidate single_va_closure when adding an emission hook



commit 53b1afba0eb94f7f836b408d81da7b58c374dc3f
Author: Mike Gorse <mgorse novell com>
Date:   Tue Mar 13 16:02:30 2012 -0500

    Invalidate single_va_closure when adding an emission hook
    
    If the optimization is used for only having one closure handling a
    signal emission, then hooks will not be run, so it should be disabled
    when an emission hook is added.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=671918

 gobject/gsignal.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
---
diff --git a/gobject/gsignal.c b/gobject/gsignal.c
index 8e067c3..7c90a7a 100644
--- a/gobject/gsignal.c
+++ b/gobject/gsignal.c
@@ -972,6 +972,7 @@ g_signal_add_emission_hook (guint               signal_id,
       SIGNAL_UNLOCK ();
       return 0;
     }
+    node->single_va_closure_is_valid = FALSE;
   if (!node->emission_hooks)
     {
       node->emission_hooks = g_new (GHookList, 1);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]