diff options
author | Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> | 2014-06-16 18:38:04 +0900 |
---|---|---|
committer | Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> | 2014-06-30 11:35:27 +0900 |
commit | e4c7f0c9ed92ec2b2d3a34eac83d046254a26225 (patch) | |
tree | 63ae89b96a38241c45f7435c0a453ba8455fa4df | |
parent | 921a6367afe79d3a99e9278e64b7d1d3c80d6eeb (diff) | |
download | wayland-ivi-extension-e4c7f0c9ed92ec2b2d3a34eac83d046254a26225.tar.gz |
ilmControl: Avoid duplicative insertion about render order of layers.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@denso.co.jp>
-rw-r--r-- | ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c b/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c index 888924c..3118fdc 100644 --- a/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c +++ b/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c @@ -525,8 +525,19 @@ add_orderlayer_to_screen(struct wayland_context *ctx, return; } - wl_list_init(&ctx_layer->order.link); - wl_list_insert(&ctx_scrn->order.list_layer, &ctx_layer->order.link); + int found = 0; + struct layer_context *layer_link; + wl_list_for_each(layer_link, &ctx_scrn->order.list_layer, order.link) { + if (layer_link == ctx_layer) { + found = 1; + break; + } + } + + if (found == 0) { + wl_list_init(&ctx_layer->order.link); + wl_list_insert(&ctx_scrn->order.list_layer, &ctx_layer->order.link); + } } static void |