(xd_remove_watch): Avoid trying to convert a void* to
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 4 Jan 2010 17:38:20 +0000 (12:38 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 4 Jan 2010 17:38:20 +0000 (12:38 -0500)
Lisp_Object, preferring to convert a lisp_Object to a void* instead.
(Fdbus_init_bus): Use XHASH to get a scalar value from a Lisp_Object.

src/ChangeLog
src/dbusbind.c

index 2d14419..6818ec3 100644 (file)
@@ -1,3 +1,9 @@
+2010-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * dbusbind.c (xd_remove_watch): Avoid trying to convert a void* to
+       Lisp_Object, preferring to convert a lisp_Object to a void* instead.
+       (Fdbus_init_bus): Use XHASH to get a scalar value from a Lisp_Object.
+
 2010-01-03  Michael Albinus  <michael.albinus@gmx.de>
 
        * dbusbind.c (xd_add_watch): Improve debug message.
@@ -21221,7 +21227,7 @@ See ChangeLog.10 for earlier changes.
 ;; add-log-time-zone-rule: t
 ;; End:
 
-    Copyright (C) 2007, 2008, 2009  Free Software Foundation, Inc.
+    Copyright (C) 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.
 
index 59702ed..974a01e 100644 (file)
@@ -805,7 +805,7 @@ xd_remove_watch (watch, data)
        return;
 
       /* Unset session environment.  */
-      if ((data != NULL) && (EQ ((Lisp_Object) data, QCdbus_session_bus)))
+      if ((data != NULL) && (data == (void*) XHASH (QCdbus_session_bus)))
        {
          XD_DEBUG_MESSAGE ("unsetenv DBUS_SESSION_BUS_ADDRESS");
          unsetenv ("DBUS_SESSION_BUS_ADDRESS");
@@ -838,7 +838,7 @@ This is an internal function, it shall not be used outside dbus.el.  */)
   if (!dbus_connection_set_watch_functions (connection,
                                            xd_add_watch,
                                            xd_remove_watch,
-                                           NULL, (void *) bus, NULL))
+                                           NULL, (void*) XHASH (bus), NULL))
     XD_SIGNAL1 (build_string ("Cannot add watch functions"));
 
   /* Return.  */