]> git.eshelyaron.com Git - emacs.git/commitdiff
* dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message)
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 8 Jul 2009 12:59:47 +0000 (12:59 +0000)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 8 Jul 2009 12:59:47 +0000 (12:59 +0000)
(Fdbus_register_signal, Fdbus_register_method): Cleanup memory of
error flag.

src/ChangeLog
src/dbusbind.c

index c39e73a39b3af9f0fd7070ab9026afbae0c4c9a9..e76892806cf5c1266c81de969549d0718888c663 100644 (file)
@@ -1,3 +1,9 @@
+2009-07-08  Michael Albinus  <michael.albinus@gmx.de>
+
+       * 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  <handa@m17n.org>
 
        * fontset.c (fontset_find_font): Fix the logic of handling
index 670ef6b1afeffa9c5918871aab5950e8e9592922..8100c7543992dae81bd5864f06bbcf677f1ae770 100644 (file)
@@ -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));
 }