shell: fix maximizing windows on a secondary output
commit f814c5dc9 changed get_output_work_area behaviour
which broke the code for positioning maximized window.
The x position was set to 2*output->x instead of to output->x
fix https://bugs.freedesktop.org/show_bug.cgi?id=92357
Signed-off-by: Marek Chalupa <mchqwerty@gmail.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
This commit is contained in:
committed by
Derek Foreman
parent
f7bb9352f7
commit
6ce78992a0
@@ -5573,7 +5573,6 @@ set_maximized_position(struct desktop_shell *shell,
|
|||||||
{
|
{
|
||||||
int32_t surf_x, surf_y;
|
int32_t surf_x, surf_y;
|
||||||
pixman_rectangle32_t area;
|
pixman_rectangle32_t area;
|
||||||
pixman_box32_t *e;
|
|
||||||
|
|
||||||
get_output_work_area(shell, shsurf->output, &area);
|
get_output_work_area(shell, shsurf->output, &area);
|
||||||
if (shsurf->has_set_geometry) {
|
if (shsurf->has_set_geometry) {
|
||||||
@@ -5583,11 +5582,10 @@ set_maximized_position(struct desktop_shell *shell,
|
|||||||
surface_subsurfaces_boundingbox(shsurf->surface,
|
surface_subsurfaces_boundingbox(shsurf->surface,
|
||||||
&surf_x, &surf_y, NULL, NULL);
|
&surf_x, &surf_y, NULL, NULL);
|
||||||
}
|
}
|
||||||
e = pixman_region32_extents(&shsurf->output->region);
|
|
||||||
|
|
||||||
weston_view_set_position(shsurf->view,
|
weston_view_set_position(shsurf->view,
|
||||||
e->x1 + area.x - surf_x,
|
area.x - surf_x,
|
||||||
e->y1 + area.y - surf_y);
|
area.y - surf_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
Reference in New Issue
Block a user