e_plane_renderer: send output_transform event regardless of current transform 22/192722/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Thu, 8 Nov 2018 10:05:54 +0000 (19:05 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Thu, 8 Nov 2018 12:24:25 +0000 (21:24 +0900)
Change-Id: Ia104e0b2ce31bf4150c15f6215ffa97d24c22e89

src/bin/e_plane_renderer.c

index 9b662b6a3df10d07067948f78927699b80d57d6b..c80ea6f464b7cfa5c110e04b0c7f04139e7e108d 100644 (file)
@@ -1590,8 +1590,7 @@ e_plane_renderer_activate(E_Plane_Renderer *renderer, E_Client *ec)
    if (renderer->ec != ec)
      renderer->need_change_buffer_transform = EINA_TRUE;
 
-   transform = e_comp_wl_output_buffer_transform_get(ec);
-   if ((plane->output->config.rotation / 90) != transform)
+   if (plane->output->config.rotation)
      {
         if (!e_config->screen_rotation_client_ignore && renderer->need_change_buffer_transform)
           {
@@ -1599,16 +1598,19 @@ e_plane_renderer_activate(E_Plane_Renderer *renderer, E_Client *ec)
              renderer->need_change_buffer_transform = EINA_FALSE;
              INF("ec:%p tansform:%d screen_roatation:%d", ec, transform, plane->output->config.rotation);
           }
-        return EINA_FALSE;
      }
-   else
-     renderer->need_change_buffer_transform = EINA_TRUE;
+
+   transform = e_comp_wl_output_buffer_transform_get(ec);
+   if ((plane->output->config.rotation / 90) != transform)
+     return EINA_FALSE;
 
    wayland_tbm_server_client_queue_activate(cqueue, 0, 0, 0);
 
    if (renderer_trace_debug)
      ELOGF("E_PLANE_RENDERER", "Activate Renderer(%p)", ec->pixmap, ec, renderer);
 
+   renderer->need_change_buffer_transform = EINA_TRUE;
+
    renderer->ec = ec;
    renderer->state = E_PLANE_RENDERER_STATE_ACTIVATE;
 
@@ -1752,8 +1754,7 @@ e_plane_renderer_reserved_activate(E_Plane_Renderer *renderer, E_Client *ec)
         if (renderer->ec != ec)
           renderer->need_change_buffer_transform = EINA_TRUE;
 
-        transform = e_comp_wl_output_buffer_transform_get(ec);
-        if ((plane->output->config.rotation / 90) != transform)
+        if (plane->output->config.rotation)
           {
              if (!e_config->screen_rotation_client_ignore && renderer->need_change_buffer_transform)
                {
@@ -1761,8 +1762,6 @@ e_plane_renderer_reserved_activate(E_Plane_Renderer *renderer, E_Client *ec)
                   renderer->need_change_buffer_transform = EINA_FALSE;
                }
           }
-        else
-          renderer->need_change_buffer_transform = EINA_TRUE;
 
         wayland_tbm_server_client_queue_activate(cqueue, 0, renderer->tqueue_size, 1);
 
@@ -1805,6 +1804,8 @@ e_plane_renderer_reserved_activate(E_Plane_Renderer *renderer, E_Client *ec)
    if (renderer_trace_debug)
      ELOGF("E_PLANE_RENDERER", "Activate Renderer(%p)", ec->pixmap, ec, renderer);
 
+   renderer->need_change_buffer_transform = EINA_TRUE;
+
    renderer->ec = ec;
    renderer->state = E_PLANE_RENDERER_STATE_ACTIVATE;