else
_tbm_surface_queue_enqueue(surface_queue, node, 1);
- if (_queue_is_empty(&surface_queue->dirty_queue)) {
- TBM_LOG_E("enqueue surface but queue is empty node:%p\n", node);
+ if (!_queue_get_node(surface_queue, DIRTY_QUEUE, surface, NULL)) {
+ TBM_LOG_E("enqueue surface(%p) but surface isn't present in the dirty_queue\n", surface);
pthread_mutex_unlock(&surface_queue->lock);
_tbm_surf_queue_mutex_unlock();
- return TBM_SURFACE_QUEUE_ERROR_EMPTY;
+ return TBM_SURFACE_ERROR_INVALID_OPERATION;
}
node->type = QUEUE_NODE_TYPE_ENQUEUE;
else
_tbm_surface_queue_release(surface_queue, node, 1);
- if (_queue_is_empty(&surface_queue->free_queue)) {
+ if (!_queue_get_node(surface_queue, FREE_QUEUE, surface, NULL)) {
+ TBM_LOG_E("release surface(%p) but surface isn't present in the free_queue\n", surface);
pthread_mutex_unlock(&surface_queue->lock);
- TBM_LOG_E("surface_queue->free_queue is empty.\n");
_tbm_surf_queue_mutex_unlock();
- return TBM_SURFACE_QUEUE_ERROR_EMPTY;
+ return TBM_SURFACE_ERROR_INVALID_OPERATION;
}
node->type = QUEUE_NODE_TYPE_RELEASE;