From: Boram Park Date: Wed, 20 Jul 2016 04:38:57 +0000 (+0900) Subject: set index to output, layer objects X-Git-Tag: accepted/tizen/common/20160804.174444~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F86%2F80986%2F1;p=platform%2Fcore%2Fuifw%2Flibtdm.git set index to output, layer objects Change-Id: Ic430c677b0749d4cfca762f285d0e9401cf69a90 --- diff --git a/src/tdm.c b/src/tdm.c index 5597bca..d73e816 100644 --- a/src/tdm.c +++ b/src/tdm.c @@ -376,7 +376,7 @@ _tdm_display_update_caps_output(tdm_private_display *private_display, int pipe, static tdm_error _tdm_display_update_layer(tdm_private_display *private_display, tdm_private_output *private_output, - tdm_layer *layer_backend) + tdm_layer *layer_backend, int index) { tdm_private_layer *private_layer; tdm_error ret; @@ -387,6 +387,7 @@ _tdm_display_update_layer(tdm_private_display *private_display, TDM_RETURN_VAL_IF_FAIL(private_layer != NULL, TDM_ERROR_OUT_OF_MEMORY); LIST_ADDTAIL(&private_layer->link, &private_output->layer_list); + private_layer->index = index; private_layer->private_display = private_display; private_layer->private_output = private_output; private_layer->layer_backend = layer_backend; @@ -433,6 +434,7 @@ tdm_display_update_output(tdm_private_display *private_display, private_output->current_dpms_value = TDM_OUTPUT_DPMS_OFF; private_output->output_backend = output_backend; private_output->pipe = pipe; + private_output->index = pipe; LIST_INITHEAD(&private_output->layer_list); LIST_INITHEAD(&private_output->capture_list); @@ -461,7 +463,7 @@ tdm_display_update_output(tdm_private_display *private_display, goto failed_update; for (i = 0; i < layer_count; i++) { - ret = _tdm_display_update_layer(private_display, private_output, layers[i]); + ret = _tdm_display_update_layer(private_display, private_output, layers[i], i); if (ret != TDM_ERROR_NONE) goto failed_update; } diff --git a/src/tdm_display.c b/src/tdm_display.c index 8dcf66f..f1bbca5 100644 --- a/src/tdm_display.c +++ b/src/tdm_display.c @@ -275,7 +275,6 @@ EXTERN tdm_output * tdm_display_get_output(tdm_display *dpy, int index, tdm_error *error) { tdm_private_output *private_output = NULL; - int i = 0; DISPLAY_FUNC_ENTRY_ERROR(); @@ -284,13 +283,11 @@ tdm_display_get_output(tdm_display *dpy, int index, tdm_error *error) if (error) *error = TDM_ERROR_NONE; - i = 0; LIST_FOR_EACH_ENTRY(private_output, &private_display->output_list, link) { - if (i == index) { + if (private_output->index == index) { _pthread_mutex_unlock(&private_display->lock); return private_output; } - i++; } _pthread_mutex_unlock(&private_display->lock); @@ -618,7 +615,6 @@ EXTERN tdm_layer * tdm_output_get_layer(tdm_output *output, int index, tdm_error *error) { tdm_private_layer *private_layer = NULL; - int i = 0; OUTPUT_FUNC_ENTRY_ERROR(); @@ -628,11 +624,10 @@ tdm_output_get_layer(tdm_output *output, int index, tdm_error *error) *error = TDM_ERROR_NONE; LIST_FOR_EACH_ENTRY(private_layer, &private_output->layer_list, link) { - if (i == index) { + if (private_layer->index == index) { _pthread_mutex_unlock(&private_display->lock); return private_layer; } - i++; } _pthread_mutex_unlock(&private_display->lock); diff --git a/src/tdm_private.h b/src/tdm_private.h index 5b3a68d..a2740a0 100644 --- a/src/tdm_private.h +++ b/src/tdm_private.h @@ -160,6 +160,7 @@ struct _tdm_private_display { struct _tdm_private_output { struct list_head link; + int index; unsigned long stamp; tdm_private_display *private_display; @@ -192,6 +193,8 @@ struct _tdm_private_output { struct _tdm_private_layer { struct list_head link; + int index; + tdm_private_display *private_display; tdm_private_output *private_output;