summaryrefslogtreecommitdiff
path: root/src/gdbusxx/gdbus-cxx-bridge.h
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2012-08-31 16:31:52 +0200
committerPatrick Ohly <patrick.ohly@intel.com>2012-09-26 08:36:35 +0200
commit6c8870236c86e4065c43882bac5cb030511cb1da (patch)
treeb692f67dfce85876b450b389001b1b922e6b28ea /src/gdbusxx/gdbus-cxx-bridge.h
parentdb3f5d69db90890c0b0c120ab41a207b750a8b65 (diff)
GDBus GIO: fix SignalFilter
The signal name was not stored, making the actual filtering more relaxed than it should have been. Worse, the path was redundantly checked for a complete match even when SIGNAL_FILTER_PATH_PREFIX was set, thus preventing signal deliver in that case.
Diffstat (limited to 'src/gdbusxx/gdbus-cxx-bridge.h')
-rw-r--r--src/gdbusxx/gdbus-cxx-bridge.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gdbusxx/gdbus-cxx-bridge.h b/src/gdbusxx/gdbus-cxx-bridge.h
index ceab5e4b..d7b66cd5 100644
--- a/src/gdbusxx/gdbus-cxx-bridge.h
+++ b/src/gdbusxx/gdbus-cxx-bridge.h
@@ -4692,6 +4692,7 @@ class SignalFilter : public DBusRemoteObject
const std::string &signal,
Flags flags) :
DBusRemoteObject(conn, path, interface, ""),
+ m_signal(signal),
m_flags(flags)
{}
@@ -4707,7 +4708,6 @@ class SignalFilter : public DBusRemoteObject
bool matches(const ExtractArgs &context) const
{
return
- (m_path.empty() || m_path == context.m_path) &&
(m_interface.empty() || m_interface == context.m_interface) &&
(m_signal.empty() || m_signal == context.m_signal) &&
(m_path.empty() ||