layer: add tdm_layer_unset_buffer_internal 93/169893/3
authorSooChan Lim <sc1.lim@samsung.com>
Mon, 12 Feb 2018 01:51:11 +0000 (10:51 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 12 Feb 2018 07:29:32 +0000 (07:29 +0000)
Change-Id: If9004eeabdcc0138d4b1fcaa6da4de84e133eff0

src/tdm_layer.c
src/tdm_private.h

index 325752e..2f97c5c 100644 (file)
@@ -498,13 +498,13 @@ tdm_layer_set_buffer(tdm_layer *layer, tbm_surface_h buffer)
        return ret;
 }
 
-EXTERN tdm_error
-tdm_layer_unset_buffer(tdm_layer *layer)
+INTERN tdm_error
+tdm_layer_unset_buffer_internal(tdm_private_layer *private_layer)
 {
+       tdm_private_output *private_output = private_layer->private_output;
+       tdm_private_display *private_display = private_output->private_display;
        tdm_func_layer *func_layer;
-       LAYER_FUNC_ENTRY();
-
-       _pthread_mutex_lock(&private_display->lock);
+       tdm_error ret = TDM_ERROR_NONE;
 
        func_layer = &private_display->func_layer;
 
@@ -517,7 +517,6 @@ tdm_layer_unset_buffer(tdm_layer *layer)
 
        if (!func_layer->layer_unset_buffer) {
                /* LCOV_EXCL_START */
-               _pthread_mutex_unlock(&private_display->lock);
                TDM_ERR("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;
                /* LCOV_EXCL_START */
@@ -526,6 +525,18 @@ tdm_layer_unset_buffer(tdm_layer *layer)
        ret = func_layer->layer_unset_buffer(private_layer->layer_backend);
        TDM_WARNING_IF_FAIL(ret == TDM_ERROR_NONE);
 
+       return ret;
+}
+
+EXTERN tdm_error
+tdm_layer_unset_buffer(tdm_layer *layer)
+{
+       LAYER_FUNC_ENTRY();
+
+       _pthread_mutex_lock(&private_display->lock);
+
+       ret = tdm_layer_unset_buffer_internal(private_layer);
+
        _pthread_mutex_unlock(&private_display->lock);
 
        return ret;
index 1747bb5..57f97b2 100644 (file)
@@ -145,6 +145,8 @@ tdm_error
 tdm_layer_set_info_internal(tdm_private_layer *private_layer, tdm_info_layer *info);
 tdm_error
 tdm_layer_set_buffer_internal(tdm_private_layer *private_layer, tbm_surface_h buffer);
+tdm_error
+tdm_layer_unset_buffer_internal(tdm_private_layer *private_layer);
 
 void
 tdm_pp_cb_done(tdm_pp *pp_backend, tbm_surface_h src, tbm_surface_h dst,