diff options
-rw-r--r-- | desktop-shell/shell.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index a7514f7f..f6d9c793 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -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, |