weston: update surface geometry [1/1]
PD#SWPL-181738
Problem:
SetGeometry does not work normally
Solution:
update surface geometry
Verify:
ah212
Change-Id: I069367f9a7e75b5ec2728877084ff221658387b9
Signed-off-by: limin.tian <limin.tian@amlogic.com>
diff --git a/aml-weston/aml-simpleshell.c b/aml-weston/aml-simpleshell.c
index ddcbd53..36d3c6a 100644
--- a/aml-weston/aml-simpleshell.c
+++ b/aml-weston/aml-simpleshell.c
@@ -68,12 +68,17 @@
struct weston_surface *surface = wstGetSurfaceFromSurfaceId(compositor, surfaceId);
if ( surface ) {
if (surface->output) {
- surface->x = x;
- surface->y = y;
+ surface->pending.buffer_viewport.surface.width = width;
+ surface->pending.buffer_viewport.surface.height = height;
+ surface->pending.buffer_viewport.changed = 1;
+ surface->buffer_viewport.surface.width = width;
+ surface->buffer_viewport.surface.height = height;
surface->width = width;
surface->height = height;
- wl_list_for_each_safe(view, tmp, &surface->views, surface_link)
+ wl_list_for_each_safe(view, tmp, &surface->views, surface_link) {
weston_view_set_position(view, x, y);
+ weston_view_geometry_dirty(view);
+ }
weston_output_schedule_repaint(surface->output);
}
}