diff options
author | Giovanni Campagna <gcampagn@redhat.com> | 2013-09-02 09:29:26 +0200 |
---|---|---|
committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-04-09 12:14:26 -0700 |
commit | 42f267bb5097ba6b35f610c3dae9284966d9a181 (patch) | |
tree | 000c1cda81942ef2520818291b29d158bd119ff3 /src/backends/meta-monitor-manager.c | |
parent | e215f3f5eb379ec95b3bae06c32043d94292a4aa (diff) | |
download | mutter-42f267bb5097ba6b35f610c3dae9284966d9a181.tar.gz |
MonitorManager: make sure to pass the right sizes to vararg functions
A gulong is not enough to get 64 bits in all arches, so we must
cast it, or we can corrupt the stack.
This was downstream bug bugzilla.redhat.com/show_bug.cgi?id=1002055
https://bugzilla.gnome.org/show_bug.cgi?id=707267
Diffstat (limited to 'src/backends/meta-monitor-manager.c')
-rw-r--r-- | src/backends/meta-monitor-manager.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c index 3e0a238d3..a437c5fa6 100644 --- a/src/backends/meta-monitor-manager.c +++ b/src/backends/meta-monitor-manager.c @@ -536,13 +536,13 @@ meta_monitor_manager_handle_get_resources (MetaDBusDisplayConfig *skeleton, g_variant_builder_add (&crtc_builder, "(uxiiiiiuaua{sv})", i, /* ID */ - crtc->crtc_id, + (gint64)crtc->crtc_id, (int)crtc->rect.x, (int)crtc->rect.y, (int)crtc->rect.width, (int)crtc->rect.height, (int)(crtc->current_mode ? crtc->current_mode - manager->modes : -1), - crtc->transform, + (guint32)crtc->transform, &transforms, NULL /* properties */); } @@ -613,7 +613,7 @@ meta_monitor_manager_handle_get_resources (MetaDBusDisplayConfig *skeleton, g_variant_builder_add (&output_builder, "(uxiausauaua{sv})", i, /* ID */ - output->output_id, + (gint64)output->output_id, (int)(output->crtc ? output->crtc - manager->crtcs : -1), &crtcs, output->name, @@ -628,9 +628,9 @@ meta_monitor_manager_handle_get_resources (MetaDBusDisplayConfig *skeleton, g_variant_builder_add (&mode_builder, "(uxuud)", i, /* ID */ - mode->mode_id, - mode->width, - mode->height, + (gint64)mode->mode_id, + (guint32)mode->width, + (guint32)mode->height, (double)mode->refresh_rate); } |