diff options
author | Giulio Camuffo <giuliocamuffo@gmail.com> | 2015-01-09 20:10:45 +0200 |
---|---|---|
committer | Bryce Harrington <bryce@osg.samsung.com> | 2015-01-27 15:27:39 -0800 |
commit | 7a8d67dedfcfc6b55421b0f5906ba9913ff61ee8 (patch) | |
tree | 39f220b7ca4da8efd0fc25834d6dd46ba6412d3d | |
parent | 237a684e404703356632688191d718863a683126 (diff) | |
download | weston-7a8d67dedfcfc6b55421b0f5906ba9913ff61ee8.tar.gz weston-7a8d67dedfcfc6b55421b0f5906ba9913ff61ee8.tar.bz2 weston-7a8d67dedfcfc6b55421b0f5906ba9913ff61ee8.zip |
shell: fix positioning of maximized surfaces with a custom geometry
-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, |