diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2020-01-06 16:42:16 +0200 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2020-01-30 01:02:50 +0200 |
commit | e5027ce09a4440b6bff25e45091fe07c8e7961d6 (patch) | |
tree | 85d93831bb14d4514bec9bf2d83402699bcb4cd4 | |
parent | 0e47c84e348b651f474add5b81698a6ad032fe84 (diff) |
layout: Force a repaint of the entire output
For clients which do not update their own contents, not repainting the
entire output will result in artefacts upon switching between running
applications. Forcing an entire output repaint solves it.
Bug-AGL: SPEC-3120
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I5279309a8e7a39ea588b405e08b7071e993f2584
-rw-r--r-- | src/layout.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/layout.c b/src/layout.c index 284c086..030e8b4 100644 --- a/src/layout.c +++ b/src/layout.c @@ -191,7 +191,8 @@ ivi_layout_activate_complete(struct ivi_output *output, weston_layer_entry_insert(&ivi->normal.view_list, &view->layer_link); weston_view_update_transform(view); - weston_view_schedule_repaint(view); + /* force repaint of the entire output */ + weston_output_damage(output->output); surf->desktop.pending_output = NULL; } @@ -261,7 +262,8 @@ ivi_layout_activate(struct ivi_output *output, const char *app_id) weston_view_set_output(view, output->output); weston_layer_entry_insert(&ivi->hidden.view_list, &view->layer_link); - weston_view_schedule_repaint(view); + /* force repaint of the entire output */ + weston_output_damage(output->output); } surf->desktop.pending_output = output; |