hwc: add omitted unlocks
[platform/core/uifw/libtdm.git] / src / tdm_hwc_window.c
index 8ef8042..25692b3 100644 (file)
@@ -462,6 +462,7 @@ tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler
                ret = tdm_layer_unset_buffer_internal(private_layer);
        if (ret != TDM_ERROR_NONE) {
                TDM_ERR("failed: layer set buffer(window)");
+               _pthread_mutex_unlock(&private_display->lock);
                return ret;
        }
 
@@ -469,6 +470,7 @@ tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler
                                                                                                                   &window_info);
        if (ret != TDM_ERROR_NONE) {
                TDM_ERR("failed: commit layer(window)");
+               _pthread_mutex_unlock(&private_display->lock);
                return ret;
        }
 
@@ -476,12 +478,14 @@ tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler
        ret = tdm_layer_set_info_internal(private_layer, info_layer);
        if (ret != TDM_ERROR_NONE) {
                TDM_ERR("failed: layer set info(window)");
+               _pthread_mutex_unlock(&private_display->lock);
                return ret;
        }
 
        hwc_window_commit_handler = calloc(1, sizeof(tdm_private_hwc_window_commit_handler));
        if (!hwc_window_commit_handler) {
                TDM_ERR("failed: alloc memory");
+               _pthread_mutex_unlock(&private_display->lock);
                return TDM_ERROR_OUT_OF_MEMORY;
        }
 
@@ -493,6 +497,7 @@ tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler
        if (ret != TDM_ERROR_NONE) {
                TDM_ERR("failed: commit layer(window)");
                free(hwc_window_commit_handler);
+               _pthread_mutex_unlock(&private_display->lock);
                return ret;
        }