From: Michael Albinus Date: Wed, 8 Jul 2009 12:59:47 +0000 (+0000) Subject: * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message) X-Git-Tag: emacs-pretest-23.1.90~2264 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c1d5ce9488bba9b3bc2b1dffe5e3615a409c4854;p=emacs.git * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message) (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of error flag. --- diff --git a/src/ChangeLog b/src/ChangeLog index c39e73a39b3..e76892806cf 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2009-07-08 Michael Albinus + + * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message) + (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of + error flag. + 2009-07-08 Kenichi Handa * fontset.c (fontset_find_font): Fix the logic of handling diff --git a/src/dbusbind.c b/src/dbusbind.c index 670ef6b1afe..8100c754399 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c @@ -716,6 +716,9 @@ xd_initialize (bus) if (connection == NULL) XD_SIGNAL2 (build_string ("No connection"), bus); + /* Cleanup. */ + dbus_error_free (&derror); + /* Return the result. */ return connection; } @@ -935,6 +938,7 @@ usage: (dbus-call-method BUS SERVICE PATH INTERFACE METHOD &optional :timeout TI } /* Cleanup. */ + dbus_error_free (&derror); dbus_message_unref (dmessage); dbus_message_unref (reply); @@ -1562,8 +1566,10 @@ xd_read_message (bus) XD_DEBUG_MESSAGE ("Event stored: %s", SDATA (format2 ("%s", event.arg, Qnil))); + /* Cleanup. */ cleanup: dbus_message_unref (dmessage); + RETURN_UNGCPRO (Qnil); } @@ -1716,6 +1722,9 @@ usage: (dbus-register-signal BUS SERVICE PATH INTERFACE SIGNAL HANDLER &rest ARG XD_ERROR (derror); } + /* Cleanup. */ + dbus_error_free (&derror); + XD_DEBUG_MESSAGE ("Matching rule \"%s\" created", rule); } @@ -1784,6 +1793,9 @@ used for composing the returning D-Bus message. */) if (NILP (Fmember (key1, value))) Fputhash (key, Fcons (key1, value), Vdbus_registered_functions_table); + /* Cleanup. */ + dbus_error_free (&derror); + /* Return object. */ return list2 (key, list3 (service, path, handler)); }