Commit 4e221f03 authored by eucan's avatar eucan Committed by Pekka Paalanen

ivi-shell: simplify ivi_layout_screen_set_render_order

It is not necessary check the ivi-id of pregiven objects (layer or
surface). Traversing the list of all objects is sure to find the exact
same pointer we start with, bugs aside.

The controller modules are responsible for providing valid pointers. We
cannot protect from invalid pointers anyway.
Signed-off-by: eucan's avatarEmre Ucan <eucan@de.adit-jv.com>
[Pekka: fix subject, add commit message]
Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
parent f46306f0
......@@ -2037,10 +2037,8 @@ ivi_layout_screen_set_render_order(struct ivi_layout_screen *iviscrn,
struct ivi_layout_layer **pLayer,
const int32_t number)
{
struct ivi_layout *layout = get_instance();
struct ivi_layout_layer *ivilayer = NULL;
struct ivi_layout_layer *next = NULL;
uint32_t *id_layer = NULL;
int32_t i = 0;
if (iviscrn == NULL) {
......@@ -2057,17 +2055,9 @@ ivi_layout_screen_set_render_order(struct ivi_layout_screen *iviscrn,
assert(wl_list_empty(&iviscrn->pending.layer_list));
for (i = 0; i < number; i++) {
id_layer = &pLayer[i]->id_layer;
wl_list_for_each(ivilayer, &layout->layer_list, link) {
if (*id_layer != ivilayer->id_layer) {
continue;
}
wl_list_remove(&ivilayer->pending.link);
wl_list_insert(&iviscrn->pending.layer_list,
&ivilayer->pending.link);
break;
}
wl_list_remove(&pLayer[i]->pending.link);
wl_list_insert(&iviscrn->pending.layer_list,
&pLayer[i]->pending.link);
}
iviscrn->order.dirty = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment