ivi-shell: simplify ivi_layout_screen_add_layer
authorUcan, Emre (ADITG/SW1) <eucan@de.adit-jv.com>
Wed, 16 Mar 2016 13:37:07 +0000 (13:37 +0000)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Thu, 17 Mar 2016 11:32:05 +0000 (13:32 +0200)
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>
ivi-shell/ivi-layout.c

index 5f25e10..de510a8 100644 (file)
@@ -2014,10 +2014,6 @@ static int32_t
 ivi_layout_screen_add_layer(struct ivi_layout_screen *iviscrn,
                            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) {
                weston_log("ivi_layout_screen_add_layer: invalid argument\n");
                return IVI_FAILED;
@@ -2028,14 +2024,8 @@ ivi_layout_screen_add_layer(struct ivi_layout_screen *iviscrn,
                return IVI_SUCCEEDED;
        }
 
-       wl_list_for_each_safe(ivilayer, next, &layout->layer_list, link) {
-               if (ivilayer->id_layer == addlayer->id_layer) {
-                       wl_list_remove(&ivilayer->pending.link);
-                       wl_list_insert(&iviscrn->pending.layer_list,
-                                      &ivilayer->pending.link);
-                       break;
-               }
-       }
+       wl_list_remove(&addlayer->pending.link);
+       wl_list_insert(&iviscrn->pending.layer_list, &addlayer->pending.link);
 
        iviscrn->order.dirty = 1;