ivi-shell: avoid inserting a ivi_layer to multiple screens.
In just previous wl_list_for_each_safe, list of layer in a screen is cleaned up. And then, the list is re-constructed from pending.layer_list. In this re-construction, if order.link of a layer were inserted into a screen whose number is later one of current screen, the order.link will inserted into layer_list of two screens. This shall be avoided. However, if we want to implement a feature to allow a layer to be added to multiple screens. A layer shall have several order.link per screens. So, I marked here as TODO. Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
parent
3e710d19fe
commit
77b0ee18a2
|
@ -819,6 +819,9 @@ commit_screen_list(struct ivi_layout *layout)
|
|||
|
||||
wl_list_for_each(ivilayer, &iviscrn->pending.layer_list,
|
||||
pending.link) {
|
||||
/* FIXME: avoid to insert order.link to multiple screens */
|
||||
wl_list_remove(&ivilayer->order.link);
|
||||
|
||||
wl_list_insert(&iviscrn->order.layer_list,
|
||||
&ivilayer->order.link);
|
||||
ivilayer->on_screen = iviscrn;
|
||||
|
|
Loading…
Reference in New Issue