summaryrefslogtreecommitdiffstats
path: root/gdbus/object.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-05-27 12:17:15 +0000
committerMarcel Holtmann <marcel@holtmann.org>2008-05-27 12:17:15 +0000
commit1ed48482e52554d7bfa1a8edf8239399ae3e1155 (patch)
tree8c13f561519050812b4f12445a15deaa3fe04741 /gdbus/object.c
parent40b5cf346c985b629c927c5b2a6d188ccd0966dd (diff)
Fix broken signal checking for new style API
Diffstat (limited to 'gdbus/object.c')
-rw-r--r--gdbus/object.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdbus/object.c b/gdbus/object.c
index f5561404..869482a4 100644
--- a/gdbus/object.c
+++ b/gdbus/object.c
@@ -654,6 +654,7 @@ static gboolean check_signal(DBusConnection *conn, const char *path,
{
struct generic_data *data = NULL;
struct interface_data *iface;
+ GDBusSignalTable *signal;
DBusSignalVTable *sig_data;
*args = NULL;
@@ -672,6 +673,13 @@ static gboolean check_signal(DBusConnection *conn, const char *path,
return FALSE;
}
+ for (signal = iface->signals; signal && signal->name; signal++) {
+ if (!strcmp(signal->name, name)) {
+ *args = signal->signature;
+ break;
+ }
+ }
+
for (sig_data = iface->old_signals; sig_data && sig_data->name; sig_data++) {
if (!strcmp(sig_data->name, name)) {
*args = sig_data->signature;