e_plane_renderer: send activate event after export buffer 94/134794/3
authorChangyeon Lee <cyeon.lee@samsung.com>
Tue, 20 Jun 2017 05:12:30 +0000 (14:12 +0900)
committerchangyeon lee <cyeon.lee@samsung.com>
Fri, 23 Jun 2017 05:21:17 +0000 (05:21 +0000)
Change-Id: Ie9f17eb5cfa10bcbde9ac1619d4b3d6f358f76db

src/bin/e_plane_renderer.c

index 1477f5bc90d89d6f95595ba55fcc7d8358efb7f7..6f3b74ac01f18ce7037a65e06ff08e8dfa8ba1a3 100644 (file)
@@ -1498,11 +1498,6 @@ e_plane_renderer_reserved_activate(E_Plane_Renderer *renderer, E_Client *ec)
                   INF("There is any dequeuable surface.");
                   return EINA_FALSE;
                 }
-
-              wayland_tbm_server_client_queue_activate(cqueue, 0, renderer->tqueue_size, 1);
-
-              if (e_comp->hwc_sync_mode_change)
-                wayland_tbm_server_client_queue_set_dequeue_cb(cqueue, _e_plane_renderer_exported_surface_dequeue_cb, plane);
            }
         else if ((renderer->state == E_PLANE_RENDERER_STATE_CANDIDATE) && (renderer->ec != ec))
            {
@@ -1521,12 +1516,6 @@ e_plane_renderer_reserved_activate(E_Plane_Renderer *renderer, E_Client *ec)
                   INF("There is any dequeuable surface.");
                   return EINA_FALSE;
                 }
-
-              /* activate the client queue */
-              wayland_tbm_server_client_queue_activate(cqueue, 0, renderer->tqueue_size, 1);
-
-              if (e_comp->hwc_sync_mode_change)
-                wayland_tbm_server_client_queue_set_dequeue_cb(cqueue, _e_plane_renderer_exported_surface_dequeue_cb, plane);
            }
         else if ((renderer->state == E_PLANE_RENDERER_STATE_CANDIDATE) && (renderer->ec == ec))
            {
@@ -1555,6 +1544,11 @@ e_plane_renderer_reserved_activate(E_Plane_Renderer *renderer, E_Client *ec)
         /* export */
         e_plane_renderer_surface_send(renderer, ec, tsurface);
 
+        wayland_tbm_server_client_queue_activate(cqueue, 0, renderer->tqueue_size, 1);
+
+        if (e_comp->hwc_sync_mode_change)
+          wayland_tbm_server_client_queue_set_dequeue_cb(cqueue, _e_plane_renderer_exported_surface_dequeue_cb, plane);
+
         tsq_err = tbm_surface_queue_notify_reset(renderer->tqueue);
         if (tsq_err != TBM_SURFACE_QUEUE_ERROR_NONE)
             ERR("fail to tbm_surface_queue_notify_reset");