e_comp_wl_rms: set latest buffer of the provider to bind_ec 42/142542/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Fri, 4 Aug 2017 02:42:35 +0000 (11:42 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Fri, 4 Aug 2017 07:38:39 +0000 (16:38 +0900)
Change-Id: I166a121bfc1bd99a4fff2674b4a34ee0a9e36ee4

src/bin/e_comp_wl_rsm.c

index b975dfc0b7ae38e6aa33ee622257b454de0746cc..c710bac2c347afdbf647ee2d232181de041271ab 100644 (file)
@@ -773,6 +773,23 @@ bind_ec_set:
         /* TODO: enable user geometry? */
         e_policy_allow_user_geometry_set(ec, EINA_TRUE);
         remote_surface->bind_ec = ec;
+
+        /* try to set latest buffer of the provider to bind_ec */
+        if (remote_surface->provider && remote_surface->provider->common.ec)
+          {
+             E_Comp_Wl_Buffer *buffer;
+
+             buffer = e_pixmap_resource_get(remote_surface->provider->common.ec->pixmap);
+             EINA_SAFETY_ON_NULL_RETURN(buffer);
+
+             _e_comp_wl_remote_surface_state_buffer_set(&remote_surface->bind_ec->comp_data->pending, buffer);
+
+             remote_surface->bind_ec->comp_data->pending.sx = 0;
+             remote_surface->bind_ec->comp_data->pending.sy = 0;
+             remote_surface->bind_ec->comp_data->pending.new_attach = EINA_TRUE;
+
+             e_comp_wl_surface_commit(remote_surface->bind_ec);
+          }
      }
 }