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