]> code.delx.au - gnu-emacs/commitdiff
Fix dbus crash on 32-bit Cygwin
authorKen Brown <kbrown@cornell.edu>
Sat, 11 Jun 2016 12:31:27 +0000 (08:31 -0400)
committerKen Brown <kbrown@cornell.edu>
Sat, 11 Jun 2016 12:31:27 +0000 (08:31 -0400)
* src/dbusbind.c (Fdbus__init_bus): Use make_save_pointer to store
connection address.  (Bug#23741)
(xd_lisp_dbus_to_dbus): Use XSAVE_POINTER to retrieve connection
address.

src/dbusbind.c

index d3a32c003415f0b19c2190c2ea1b1c7f834dd972..56bfd7164a4b05415f5982c105fb5cb507ac7e7d 100644 (file)
@@ -943,7 +943,7 @@ xd_get_connection_references (DBusConnection *connection)
 static DBusConnection*
 xd_lisp_dbus_to_dbus (Lisp_Object bus)
 {
-  return (DBusConnection *) (intptr_t) XFASTINT (bus);
+  return (DBusConnection *) XSAVE_POINTER (bus, 0);
 }
 
 /* Return D-Bus connection address.  BUS is either a Lisp symbol,
@@ -1187,7 +1187,7 @@ this connection to those buses.  */)
        XD_SIGNAL1 (build_string ("Cannot add watch functions"));
 
       /* Add bus to list of registered buses.  */
-      XSETFASTINT (val, (intptr_t) connection);
+      val = make_save_ptr (connection);
       xd_registered_buses = Fcons (Fcons (bus, val), xd_registered_buses);
 
       /* Cleanup.  */