e_plane_renderer: unset plane if client commit with normal buffer 99/196399/2 accepted/tizen/5.0/unified/20190103.030010 submit/tizen_5.0/20181228.091208
authorChangyeon Lee <cyeon.lee@samsung.com>
Tue, 11 Dec 2018 09:43:10 +0000 (18:43 +0900)
committerchangyeon lee <cyeon.lee@samsung.com>
Fri, 28 Dec 2018 09:07:10 +0000 (09:07 +0000)
Change-Id: I285ed8846e0e1c92aa239e5ef053df8db7df9678

src/bin/e_plane_renderer.c

index a30576fde097a58b1bc1b7b00cae1a6b807da6ba..45c6cac07c4eeaf44252f7ecf9d3252302ed88e9 100644 (file)
@@ -892,8 +892,20 @@ _e_plane_renderer_client_ec_buffer_change_cb(void *data, int type, void *event)
    renderer_client = e_plane_renderer_client_get(ec);
    if (!renderer_client) return ECORE_CALLBACK_PASS_ON;
 
+   renderer = renderer_client->renderer;
+
    if (_e_plane_renderer_client_surface_flags_get(renderer_client) != E_PLANE_RENDERER_CLIENT_SURFACE_FLAGS_RESERVED)
-     return ECORE_CALLBACK_PASS_ON;
+     {
+        if (!renderer) return ECORE_CALLBACK_PASS_ON;
+        if (renderer_client->state != E_PLANE_RENDERER_CLIENT_STATE_ACTIVATED) return ECORE_CALLBACK_PASS_ON;
+        if (renderer->tqueue)
+          {
+             if (renderer->plane && (renderer->ec == ec))
+               e_plane_ec_set(renderer->plane, NULL);
+          }
+
+        return ECORE_CALLBACK_PASS_ON;
+     }
 
    renderer_buffer = _e_plane_renderer_client_renderer_buffer_get(renderer_client);
    if (!renderer_buffer)
@@ -910,8 +922,6 @@ _e_plane_renderer_client_ec_buffer_change_cb(void *data, int type, void *event)
         return ECORE_CALLBACK_PASS_ON;
      }
 
-   renderer = renderer_client->renderer;
-
    if ((renderer_client->state == E_PLANE_RENDERER_CLIENT_STATE_NONE) ||
        (renderer_client->state == E_PLANE_RENDERER_CLIENT_STATE_PENDING_DEACTIVATED))
      {