summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2010-01-26 20:41:17 (GMT)
committerThiago Macieira <thiago.macieira@nokia.com>2010-01-26 21:20:41 (GMT)
commite631e7bde04aea81292a950cb00a93764714c093 (patch)
tree08d0c0f4cfa34e87b1a9c13013a752209aaa157c
parentff344c1844f729fd8f9d594a71eb0074dac09c60 (diff)
downloadQt-e631e7bde04aea81292a950cb00a93764714c093.zip
Qt-e631e7bde04aea81292a950cb00a93764714c093.tar.gz
Qt-e631e7bde04aea81292a950cb00a93764714c093.tar.bz2
When checking to see if a signal is connected, compare the match-arguments too
-rw-r--r--src/dbus/qdbusintegrator.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index fe8693c..44abf7b 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -2001,7 +2001,8 @@ bool QDBusConnectionPrivate::connectSignal(const QString &service,
entry.path == hook.path &&
entry.signature == hook.signature &&
entry.obj == hook.obj &&
- entry.midx == hook.midx) {
+ entry.midx == hook.midx &&
+ entry.argumentMatch == hook.argumentMatch) {
// no need to compare the parameters if it's the same slot
return true; // already there
}
@@ -2083,7 +2084,8 @@ bool QDBusConnectionPrivate::disconnectSignal(const QString &service,
entry.path == hook.path &&
entry.signature == hook.signature &&
entry.obj == hook.obj &&
- entry.midx == hook.midx) {
+ entry.midx == hook.midx &&
+ entry.argumentMatch == hook.argumentMatch) {
// no need to compare the parameters if it's the same slot
disconnectSignal(it);
return true; // it was there