diff options
Diffstat (limited to 'python')
-rw-r--r-- | python/dbus_bindings.pyx | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/python/dbus_bindings.pyx b/python/dbus_bindings.pyx index 93a94733..ee3e648d 100644 --- a/python/dbus_bindings.pyx +++ b/python/dbus_bindings.pyx @@ -208,7 +208,10 @@ cdef DBusHandlerResult cmessage_function_handler (DBusConnection *connection, tup = <object>user_data assert (type(tup) == list) function = tup[0] - message = Message(_create=0) + message = EmptyMessage() + + #we don't own the message so we need to ref it + dbus_message_ref(msg) message._set_msg(msg) conn = Connection() conn.__cinit__(None, connection) @@ -274,7 +277,7 @@ cdef class Connection: def borrow_message(self): cdef Message m - m = Message(_create=0) + m = EmptyMessage() m._set_msg(dbus_connection_borrow_message(self.conn)) return m @@ -295,7 +298,7 @@ cdef class Connection: msg = dbus_connection_pop_message(self.conn) if msg != NULL: - m = Message(_create=0) + m = EmptyMessage() m._set_msg(msg) else: m = None @@ -491,7 +494,7 @@ cdef void _pending_call_notification(DBusPendingCall *pending_call, void *user_d (reply_handler, error_handler) = <object>user_data dbus_message = dbus_pending_call_steal_reply(pending_call) - message = Message(_create=0) + message = EmptyMessage() message._set_msg(dbus_message) type = message.get_type() @@ -542,7 +545,7 @@ cdef class PendingCall: def get_reply(self): cdef Message message - message = Message(_create=0) + message = EmptyMessage() message._set_msg(dbus_pending_call_steal_reply(self.pending_call)) return message |