shell: fix positioning of maximized surfaces with a custom geometry
authorGiulio Camuffo <giuliocamuffo@gmail.com>
Fri, 9 Jan 2015 18:10:45 +0000 (20:10 +0200)
committerBryce Harrington <bryce@osg.samsung.com>
Tue, 27 Jan 2015 23:27:39 +0000 (15:27 -0800)
desktop-shell/shell.c

index a7514f7..f6d9c79 100644 (file)
@@ -5374,8 +5374,13 @@ set_maximized_position(struct desktop_shell *shell,
        pixman_box32_t *e;
 
        get_output_work_area(shell, shsurf->output, &area);
-       surface_subsurfaces_boundingbox(shsurf->surface,
-                                       &surf_x, &surf_y, NULL, NULL);
+       if (shsurf->has_set_geometry) {
+               surf_x = shsurf->geometry.x;
+               surf_y = shsurf->geometry.y;
+       } else {
+               surface_subsurfaces_boundingbox(shsurf->surface,
+                                               &surf_x, &surf_y, NULL, NULL);
+       }
        e = pixman_region32_extents(&shsurf->output->region);
 
        weston_view_set_position(shsurf->view,