[glib/signal-performance] Mask out G_SIGNAL_TYPE_STATIC_SCOPE when comparing types



commit b05ea89d0c9e97fcd7858a83ea0d1c6d7fe1972f
Author: Alexander Larsson <alexl redhat com>
Date:   Fri Mar 2 20:22:29 2012 +0100

    Mask out G_SIGNAL_TYPE_STATIC_SCOPE when comparing types

 gobject/gsignal.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/gobject/gsignal.c b/gobject/gsignal.c
index 54542c1..14054b5 100644
--- a/gobject/gsignal.c
+++ b/gobject/gsignal.c
@@ -1703,7 +1703,7 @@ g_signal_newv (const gchar       *signal_name,
   else if (n_params == 1 && return_type == G_TYPE_NONE)
     {
 #define ADD_CHECK(__type__) \
-      else if (g_type_is_a (param_types[0], G_TYPE_ ##__type__))         \
+      else if (g_type_is_a (param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_ ##__type__))         \
 	{                                                                \
 	  builtin_c_marshaller = g_cclosure_marshal_VOID__ ## __type__;  \
 	  va_marshaller = g_cclosure_marshal_VOID__ ## __type__ ##v;     \



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