The gcc built-in 'bool' type is not the same size as dbus_bool_t, which is
an uint32_t.  Passing a pointer to bool where dbus expects a uint32_t *
doesn't work.
---
 src/logind-util.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

David,

This fixes a crash that Artie hit when testing this.  Btw, did you get
a chance to update the logind error paths to return -1 and set errno
like we discussed?

Kristian

diff --git a/src/logind-util.c b/src/logind-util.c
index 6bd0c26..a58265c 100644
--- a/src/logind-util.c
+++ b/src/logind-util.c
@@ -69,8 +69,9 @@ weston_logind_take_device(struct weston_logind *wl, uint32_t 
major,
                          uint32_t minor, bool *paused_out)
 {
        DBusMessage *m, *reply;
-       bool b, paused;
+       bool b;
        int r, fd;
+       dbus_bool_t paused;
 
        m = dbus_message_new_method_call("org.freedesktop.login1",
                                         wl->spath,
@@ -287,7 +288,7 @@ get_active_cb(DBusPendingCall *pending, void *data)
        DBusMessage *m;
        DBusMessageIter iter, sub;
        int type;
-       bool b;
+       dbus_bool_t b;
 
        dbus_pending_call_unref(wl->pending_active);
        wl->pending_active = NULL;
-- 
1.8.3.1

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to