summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiulio Camuffo <giuliocamuffo@gmail.com>2015-01-09 20:10:45 +0200
committerBryce Harrington <bryce@osg.samsung.com>2015-01-27 15:27:39 -0800
commit7a8d67dedfcfc6b55421b0f5906ba9913ff61ee8 (patch)
tree39f220b7ca4da8efd0fc25834d6dd46ba6412d3d
parent237a684e404703356632688191d718863a683126 (diff)
downloadweston-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.c9
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,