[PATCH] logind: Use dbus_bool_t for bool types in dbus calls
Kristian Høgsberg
krh at bitplanet.net
Wed Nov 20 16:39:56 PST 2013
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
More information about the wayland-devel
mailing list