diff options
author | Patrick Ohly <patrick.ohly@intel.com> | 2012-08-31 16:31:52 +0200 |
---|---|---|
committer | Patrick Ohly <patrick.ohly@intel.com> | 2012-09-26 08:36:35 +0200 |
commit | 6c8870236c86e4065c43882bac5cb030511cb1da (patch) | |
tree | b692f67dfce85876b450b389001b1b922e6b28ea /src/gdbusxx/gdbus-cxx-bridge.h | |
parent | db3f5d69db90890c0b0c120ab41a207b750a8b65 (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.h | 2 |
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() || |