diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2008-07-15 19:38:16 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2008-07-15 19:38:16 +0100 |
commit | 5235d4028fc863fe81d8aa7ccbe2d5f0830fd392 (patch) | |
tree | 7400be5b29ae2094e2c1d3d1f87ab785fd00ef58 | |
parent | be52835d092eaf45f8367838c65842baf0b21eab (diff) | |
parent | b5aa7ce1baa7628c883982f6dde9ca32958db857 (diff) | |
download | dbus-python-5235d4028fc863fe81d8aa7ccbe2d5f0830fd392.tar.gz |
Merge branch 'master' into purity
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | _dbus_bindings/conn-methods.c | 1 | ||||
-rw-r--r-- | dbus/service.py | 5 |
3 files changed, 9 insertions, 1 deletions
@@ -21,6 +21,10 @@ Features: Fixes: +* don't emit spurious Error messages if libdbus gives object-path handlers + a message that isn't a method call (most likely because of binding to a + locally emitted signal, as in fd.o #14199) + D-Bus Python Bindings 0.82.4 (2007-12-10) ========================================= diff --git a/_dbus_bindings/conn-methods.c b/_dbus_bindings/conn-methods.c index 7e3273c..a4a284a 100644 --- a/_dbus_bindings/conn-methods.c +++ b/_dbus_bindings/conn-methods.c @@ -73,6 +73,7 @@ _filter_message(DBusConnection *conn, DBusMessage *message, void *user_data) callable = PyList_GET_ITEM(conn_obj->filters, i); if (callable == user_data) { Py_INCREF(callable); + break; } else { callable = NULL; diff --git a/dbus/service.py b/dbus/service.py index 1d104b9..141d1a3 100644 --- a/dbus/service.py +++ b/dbus/service.py @@ -43,7 +43,7 @@ from dbus.decorators import method, signal from dbus.exceptions import DBusException, \ NameExistsException, \ UnknownMethodException -from dbus.lowlevel import ErrorMessage, MethodReturnMessage +from dbus.lowlevel import ErrorMessage, MethodReturnMessage, MethodCallMessage from dbus.proxies import LOCAL_PATH @@ -637,6 +637,9 @@ class Object(Interface): 'on %r', self, path, connection) def _message_cb(self, connection, message): + if not isinstance(message, MethodCallMessage): + return + try: # lookup candidate method and parent method method_name = message.get_member() |