ivi-shell: bugfix, list of surfaces on a layer are cumulated when set render order...
authorUcan, Emre (ADITG/SW1) <eucan@de.adit-jv.com>
Wed, 19 Aug 2015 11:25:01 +0000 (11:25 +0000)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Thu, 20 Aug 2015 08:19:03 +0000 (11:19 +0300)
The final list of surfaces of set render order shall be applied. So link
of surfaces and list of surfaces in a layer shall be initialized. And
then the order of surfaces shall be restructured.

Use existing clear_surface_pending_list function to clear the list.

Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
Tested-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
ivi-shell/ivi-layout.c

index 95b167100cbcc6e33613e84209f10af78ab40e2f..d412069c845d54bd8686375a2c6354088d55ea89 100644 (file)
@@ -2082,17 +2082,7 @@ ivi_layout_layer_set_render_order(struct ivi_layout_layer *ivilayer,
                return IVI_FAILED;
        }
 
-       if (pSurface == NULL) {
-               wl_list_for_each_safe(ivisurf, next, &ivilayer->pending.surface_list, pending.link) {
-                       if (!wl_list_empty(&ivisurf->pending.link)) {
-                               wl_list_remove(&ivisurf->pending.link);
-                       }
-
-                       wl_list_init(&ivisurf->pending.link);
-               }
-               ivilayer->event_mask |= IVI_NOTIFICATION_REMOVE;
-               return IVI_SUCCEEDED;
-       }
+       clear_surface_pending_list(ivilayer);
 
        for (i = 0; i < number; i++) {
                id_surface = &pSurface[i]->id_surface;