summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>2014-06-16 18:38:04 +0900
committerNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>2014-06-30 11:35:27 +0900
commite4c7f0c9ed92ec2b2d3a34eac83d046254a26225 (patch)
tree63ae89b96a38241c45f7435c0a453ba8455fa4df
parent921a6367afe79d3a99e9278e64b7d1d3c80d6eeb (diff)
downloadwayland-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.c15
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