summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2020-01-06 16:42:16 +0200
committerMarius Vlad <marius.vlad@collabora.com>2020-01-30 01:02:50 +0200
commite5027ce09a4440b6bff25e45091fe07c8e7961d6 (patch)
tree85d93831bb14d4514bec9bf2d83402699bcb4cd4
parent0e47c84e348b651f474add5b81698a6ad032fe84 (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.c6
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;