e_hwc_window_queue: release tqueue when prepare set is failed 08/209708/4
authorChangyeon Lee <cyeon.lee@samsung.com>
Tue, 9 Jul 2019 10:41:35 +0000 (19:41 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Tue, 16 Jul 2019 08:22:15 +0000 (17:22 +0900)
Change-Id: Ie763f279483047816ba93fe9b8b4690b8925bb01

src/bin/e_hwc_window_queue.c

index 6d2858f..eb3f520 100644 (file)
@@ -730,7 +730,10 @@ _e_hwc_window_queue_unset(E_Hwc_Window_Queue *queue)
      {
         hwc_window = eina_list_nth(queue->user_pending_set, 0);
         if (!_e_hwc_window_queue_prepare_set(queue, hwc_window))
-          EHWQERR("fail to queue_prepare_set for user_pending_set hwc_window:%p", NULL, queue->hwc, queue, hwc_window);
+          {
+             EHWQERR("fail to queue_prepare_set for user_pending_set hwc_window:%p", NULL, queue->hwc, queue, hwc_window);
+             _e_hwc_window_queue_tqueue_release(queue->tqueue, hwc_window);
+          }
      }
 
    e_object_unref(E_OBJECT(queue));
@@ -1010,6 +1013,7 @@ e_hwc_window_queue_user_set(E_Hwc_Window *hwc_window)
    if (!_e_hwc_window_queue_prepare_set(queue, hwc_window))
      {
         EHWQERR("fail to queue_prepare_set hwc_window:%p", NULL, queue->hwc, queue, hwc_window);
+        _e_hwc_window_queue_tqueue_release(queue->tqueue, hwc_window);
         return NULL;
      }