ivi-shell: simplify ivi_layout_screen_add_layer
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: Emre Ucan <eucan@de.adit-jv.com> [Pekka: commit message] Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
parent
72ad164b5d
commit
f46306f059
@ -2014,10 +2014,6 @@ static int32_t
|
|||||||
ivi_layout_screen_add_layer(struct ivi_layout_screen *iviscrn,
|
ivi_layout_screen_add_layer(struct ivi_layout_screen *iviscrn,
|
||||||
struct ivi_layout_layer *addlayer)
|
struct ivi_layout_layer *addlayer)
|
||||||
{
|
{
|
||||||
struct ivi_layout *layout = get_instance();
|
|
||||||
struct ivi_layout_layer *ivilayer = NULL;
|
|
||||||
struct ivi_layout_layer *next = NULL;
|
|
||||||
|
|
||||||
if (iviscrn == NULL || addlayer == NULL) {
|
if (iviscrn == NULL || addlayer == NULL) {
|
||||||
weston_log("ivi_layout_screen_add_layer: invalid argument\n");
|
weston_log("ivi_layout_screen_add_layer: invalid argument\n");
|
||||||
return IVI_FAILED;
|
return IVI_FAILED;
|
||||||
@ -2028,14 +2024,8 @@ ivi_layout_screen_add_layer(struct ivi_layout_screen *iviscrn,
|
|||||||
return IVI_SUCCEEDED;
|
return IVI_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
wl_list_for_each_safe(ivilayer, next, &layout->layer_list, link) {
|
wl_list_remove(&addlayer->pending.link);
|
||||||
if (ivilayer->id_layer == addlayer->id_layer) {
|
wl_list_insert(&iviscrn->pending.layer_list, &addlayer->pending.link);
|
||||||
wl_list_remove(&ivilayer->pending.link);
|
|
||||||
wl_list_insert(&iviscrn->pending.layer_list,
|
|
||||||
&ivilayer->pending.link);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
iviscrn->order.dirty = 1;
|
iviscrn->order.dirty = 1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user