e_plane_renderer: call manual_render function if ee's size is wrong 54/128454/4 accepted/tizen/unified/20170511.033530 submit/tizen/20170510.083303
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 10 May 2017 08:08:48 +0000 (17:08 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Wed, 10 May 2017 08:08:48 +0000 (17:08 +0900)
evas output size becomes correct when ecore_evas_manual_render is called

Change-Id: I65924d36656e5dce469793360cf136b1f11c6d26

src/bin/e_plane_renderer.c

index aef5dbd..85abb45 100644 (file)
@@ -938,6 +938,8 @@ e_plane_renderer_new(E_Plane *plane)
 {
    E_Plane_Renderer *renderer = NULL;
    tbm_surface_queue_h tqueue = NULL;
+   int ee_width = 0;
+   int ee_height = 0;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(plane, NULL);
 
@@ -958,6 +960,11 @@ e_plane_renderer_new(E_Plane *plane)
         tqueue = _get_tbm_surface_queue(renderer->ee);
         if (tqueue && !e_plane_renderer_surface_queue_set(renderer, tqueue))
            ERR("fail to e_plane_renderer_queue_set");
+
+        ecore_evas_geometry_get(renderer->ee, NULL, NULL, &ee_width, &ee_height);
+
+        if (renderer->tqueue_width != ee_width || renderer->tqueue_height != ee_height)
+          ecore_evas_manual_render(renderer->ee);
      }
 
    return renderer;