diff options
author | Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> | 2015-11-25 23:36:46 +0900 |
---|---|---|
committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2015-11-27 15:03:29 +0200 |
commit | 77b0ee18a2e02e6084ece3d04914f7e8f4c6dcb9 (patch) | |
tree | e01b9f6dbd1ff794efea137e26f00a4beedf2915 /ivi-shell | |
parent | 3e710d19fe663c7fca39053eb06b5667adabd7b0 (diff) |
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>
Diffstat (limited to 'ivi-shell')
-rw-r--r-- | ivi-shell/ivi-layout.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c index 23ce67b4..1a75348d 100644 --- a/ivi-shell/ivi-layout.c +++ b/ivi-shell/ivi-layout.c @@ -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; |