mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01:00
Remove g_trap_instance_signals as well
This is another crude conditional breakpoint mechanism and can be done better with actual conditional breakpoints or with systemtap tracepoints. https://bugzilla.gnome.org/show_bug.cgi?id=719687
This commit is contained in:
parent
28c2706da7
commit
2baa50ee4f
@ -105,14 +105,6 @@
|
|||||||
|
|
||||||
|
|
||||||
#define REPORT_BUG "please report occurrence circumstances to gtk-devel-list@gnome.org"
|
#define REPORT_BUG "please report occurrence circumstances to gtk-devel-list@gnome.org"
|
||||||
#ifdef G_ENABLE_DEBUG
|
|
||||||
#define COND_DEBUG(debug_type, cond) ((_g_type_debug_flags & G_TYPE_DEBUG_ ## debug_type) || (cond))
|
|
||||||
#define IF_DEBUG(debug_type, cond) if (COND_DEBUG(debug_type, cond))
|
|
||||||
|
|
||||||
static volatile gpointer g_trace_instance_signals = NULL;
|
|
||||||
static volatile gpointer g_trap_instance_signals = NULL;
|
|
||||||
#endif /* G_ENABLE_DEBUG */
|
|
||||||
|
|
||||||
|
|
||||||
/* --- typedefs --- */
|
/* --- typedefs --- */
|
||||||
typedef struct _SignalNode SignalNode;
|
typedef struct _SignalNode SignalNode;
|
||||||
@ -3042,12 +3034,7 @@ g_signal_emitv (const GValue *instance_and_params,
|
|||||||
|
|
||||||
if (node->single_va_closure != NULL &&
|
if (node->single_va_closure != NULL &&
|
||||||
(node->single_va_closure == SINGLE_VA_CLOSURE_EMPTY_MAGIC ||
|
(node->single_va_closure == SINGLE_VA_CLOSURE_EMPTY_MAGIC ||
|
||||||
_g_closure_is_void (node->single_va_closure, instance))
|
_g_closure_is_void (node->single_va_closure, instance)))
|
||||||
#ifdef G_ENABLE_DEBUG
|
|
||||||
&& !COND_DEBUG (SIGNALS, g_trace_instance_signals != instance &&
|
|
||||||
g_trap_instance_signals == instance)
|
|
||||||
#endif /* G_ENABLE_DEBUG */
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HandlerList* hlist = handler_list_lookup (node->signal_id, instance);
|
HandlerList* hlist = handler_list_lookup (node->signal_id, instance);
|
||||||
if (hlist == NULL || hlist->handlers == NULL)
|
if (hlist == NULL || hlist->handlers == NULL)
|
||||||
@ -3129,12 +3116,7 @@ g_signal_emit_valist (gpointer instance,
|
|||||||
if (!node->single_va_closure_is_valid)
|
if (!node->single_va_closure_is_valid)
|
||||||
node_update_single_va_closure (node);
|
node_update_single_va_closure (node);
|
||||||
|
|
||||||
if (node->single_va_closure != NULL
|
if (node->single_va_closure != NULL)
|
||||||
#ifdef G_ENABLE_DEBUG
|
|
||||||
&& !COND_DEBUG (SIGNALS, g_trace_instance_signals != instance &&
|
|
||||||
g_trap_instance_signals == instance)
|
|
||||||
#endif /* G_ENABLE_DEBUG */
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HandlerList* hlist = handler_list_lookup (node->signal_id, instance);
|
HandlerList* hlist = handler_list_lookup (node->signal_id, instance);
|
||||||
Handler *fastpath_handler = NULL;
|
Handler *fastpath_handler = NULL;
|
||||||
@ -3448,18 +3430,6 @@ signal_emit_unlocked_R (SignalNode *node,
|
|||||||
gulong max_sequential_handler_number;
|
gulong max_sequential_handler_number;
|
||||||
gboolean return_value_altered = FALSE;
|
gboolean return_value_altered = FALSE;
|
||||||
|
|
||||||
#ifdef G_ENABLE_DEBUG
|
|
||||||
IF_DEBUG (SIGNALS, g_trace_instance_signals == instance || g_trap_instance_signals == instance)
|
|
||||||
{
|
|
||||||
g_message ("%s::%s(%u) emitted (instance=%p, signal-node=%p)",
|
|
||||||
g_type_name (G_TYPE_FROM_INSTANCE (instance)),
|
|
||||||
node->name, detail,
|
|
||||||
instance, node);
|
|
||||||
if (g_trap_instance_signals == instance)
|
|
||||||
G_BREAKPOINT ();
|
|
||||||
}
|
|
||||||
#endif /* G_ENABLE_DEBUG */
|
|
||||||
|
|
||||||
TRACE(GOBJECT_SIGNAL_EMIT(node->signal_id, detail, instance, G_TYPE_FROM_INSTANCE (instance)));
|
TRACE(GOBJECT_SIGNAL_EMIT(node->signal_id, detail, instance, G_TYPE_FROM_INSTANCE (instance)));
|
||||||
|
|
||||||
SIGNAL_LOCK ();
|
SIGNAL_LOCK ();
|
||||||
|
Loading…
Reference in New Issue
Block a user