ivi-shell: bugfix, list of surfaces on a layer are cumulated when set render order is called several time in one commitchanges.

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>
dev
Ucan, Emre (ADITG/SW1) 9 years ago committed by Pekka Paalanen
parent 3f897940d9
commit c2be6388d2
  1. 12
      ivi-shell/ivi-layout.c

@ -2082,17 +2082,7 @@ ivi_layout_layer_set_render_order(struct ivi_layout_layer *ivilayer,
return IVI_FAILED; return IVI_FAILED;
} }
if (pSurface == NULL) { clear_surface_pending_list(ivilayer);
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;
}
for (i = 0; i < number; i++) { for (i = 0; i < number; i++) {
id_surface = &pSurface[i]->id_surface; id_surface = &pSurface[i]->id_surface;

Loading…
Cancel
Save