e_plane_renderer: send activate event after export buffer
authorChangyeon Lee <cyeon.lee@samsung.com>
Tue, 20 Jun 2017 05:12:30 +0000 (14:12 +0900)
committerBoram Park <boram1288.park@samsung.com>
Wed, 5 Jul 2017 02:57:05 +0000 (11:57 +0900)
Change-Id: Ie9f17eb5cfa10bcbde9ac1619d4b3d6f358f76db

src/bin/e_plane_renderer.c

index 98cf156dfc64805338bc3734ac02f05709d39902..abbe64def75e270ca7bad240f19de02dc5b1513e 100644 (file)
@@ -1489,11 +1489,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))
            {
@@ -1512,12 +1507,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))
            {
@@ -1546,6 +1535,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");