From: Marek Chalupa Date: Mon, 1 Sep 2014 15:20:33 +0000 (+0200) Subject: xdg-shell: fix maximizing in multi-head setup X-Git-Tag: 1.5.93~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8b771af9869442d4f4f5437e7ae3f6d3e9367b78;p=platform%2Fupstream%2Fweston.git xdg-shell: fix maximizing in multi-head setup Set the right position of maximized window. Up until now we ignored output's "position" and were using only the working area of output which is in output-relative coordinates. This led to showing the maximized window always on the first output. This, along with the previous patch, fixes https://bugs.freedesktop.org/show_bug.cgi?id=82967 Signed-off-by: Marek Chalupa Reviewed-by: Pekka Paalanen --- diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 2b7b247..3cc5733 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -5291,15 +5291,16 @@ set_maximized_position(struct desktop_shell *shell, { int32_t surf_x, surf_y; pixman_rectangle32_t area; + pixman_box32_t *e; - /* use surface configure to set the geometry */ get_output_work_area(shell, shsurf->output, &area); surface_subsurfaces_boundingbox(shsurf->surface, &surf_x, &surf_y, NULL, NULL); + e = pixman_region32_extents(&shsurf->output->region); weston_view_set_position(shsurf->view, - area.x - surf_x, - area.y - surf_y); + e->x1 + area.x - surf_x, + e->y1 + area.y - surf_y); } static void