From 69980c80da884ad3c4b8cc514faef1d04069ba9b Mon Sep 17 00:00:00 2001 From: David Sansome Date: Sat, 9 Jun 2012 14:23:21 +0100 Subject: [PATCH] Use g_signal_parse_name instead of g_signal_lookup in CheckedGConnect to support connections that look like "signal-name::detail". Also use qFatal() instead of Q_ASSERT(0). --- src/core/signalchecker.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core/signalchecker.cpp b/src/core/signalchecker.cpp index b7f9609bb..8496c49f5 100644 --- a/src/core/signalchecker.cpp +++ b/src/core/signalchecker.cpp @@ -25,10 +25,11 @@ bool CheckedGConnect( GCallback callback, gpointer data, const int callback_param_count) { - guint signal_id = g_signal_lookup(signal, G_OBJECT_TYPE(source)); - if (signal_id == 0) { - qLog(Error) << "Connecting to invalid signal:" << signal; - Q_ASSERT(0); + guint signal_id = 0; + GQuark detail = 0; + + if (!g_signal_parse_name(signal, G_OBJECT_TYPE(source), &signal_id, &detail, false)) { + qFatal("Connecting to invalid signal: %s", signal); return false; } @@ -38,8 +39,7 @@ bool CheckedGConnect( // return_type callback(gpointer data1, params..., gpointer data2); int signal_params = query.n_params + 2; if (signal_params != callback_param_count) { - qLog(Error) << "Connecting callback to signal with different parameters counts"; - Q_ASSERT(0); + qFatal("Connecting callback to signal with different parameters counts"); return false; }