summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2008-07-15 19:38:16 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2008-07-15 19:38:16 +0100
commit5235d4028fc863fe81d8aa7ccbe2d5f0830fd392 (patch)
tree7400be5b29ae2094e2c1d3d1f87ab785fd00ef58
parentbe52835d092eaf45f8367838c65842baf0b21eab (diff)
parentb5aa7ce1baa7628c883982f6dde9ca32958db857 (diff)
downloaddbus-python-5235d4028fc863fe81d8aa7ccbe2d5f0830fd392.tar.gz
Merge branch 'master' into purity
-rw-r--r--NEWS4
-rw-r--r--_dbus_bindings/conn-methods.c1
-rw-r--r--dbus/service.py5
3 files changed, 9 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index b6fde56..de6b6fd 100644
--- a/NEWS
+++ b/NEWS
@@ -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()