add wayland client post-render references in the render loop
authorMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 10 Jul 2015 17:22:15 +0000 (13:22 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 10 Jul 2015 17:22:15 +0000 (13:22 -0400)
src/bin/e_comp.c
src/bin/e_comp_wl.c

index c22900244cffe5d510970965802fbb95e2283416..2cf02b47a123cbd73a8220d5c1dbd4f259faed51 100644 (file)
@@ -299,7 +299,7 @@ static Eina_Bool
 _e_comp_client_update(E_Client *ec)
 {
    int pw, ph;
-   Eina_Bool post = EINA_FALSE;
+   Eina_Bool post = !e_pixmap_is_x(ec->pixmap);
 
    DBG("UPDATE [%p] pm = %p", ec, ec->pixmap);
    if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE;
index 2fa8a56e0d229cd333d97d24d7dbad731836c514..700d15982771f14da1eea03064287d556607e5ba 100644 (file)
@@ -1771,12 +1771,7 @@ _e_comp_wl_subsurface_commit_from_cache(E_Client *ec)
 
    e_comp_wl_buffer_reference(&sdata->cached_buffer_ref, NULL);
 
-   /* schedule repaint */
-   if (e_pixmap_refresh(ec->pixmap))
-     {
-        e_comp->post_updates = eina_list_append(e_comp->post_updates, ec);
-        e_object_ref(E_OBJECT(ec));
-     }
+   e_pixmap_refresh(ec->pixmap);
 }
 
 static void
@@ -2802,12 +2797,8 @@ e_comp_wl_surface_commit(E_Client *ec)
    _e_comp_wl_surface_state_commit(ec, &ec->comp_data->pending);
 
    ignored = ec->ignored;
-   /* schedule repaint */
-   if (e_pixmap_refresh(ec->pixmap))
-     {
-        e_comp->post_updates = eina_list_append(e_comp->post_updates, ec);
-        e_object_ref(E_OBJECT(ec));
-     }
+
+   e_pixmap_refresh(ec->pixmap);
 
    if (!e_pixmap_usable_get(ec->pixmap))
      {