discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=db7a1f6df30fb80572e449bc3bbbbd2d75567f7d

commit db7a1f6df30fb80572e449bc3bbbbd2d75567f7d
Author: Mike Blumenkrantz <[email protected]>
Date:   Tue Jan 21 18:50:00 2014 -0500

    force prerendering for internal clients
    
    we can assume that these are always going to be ready for drawing 
immediately, and sometimes X fucks up the damages so it's best to go with the 
full frame from the beginning
---
 src/bin/e_comp_object.c | 6 +++++-
 src/bin/e_comp_x.c      | 1 +
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 24bf67b..1ab2b38 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -1228,7 +1228,11 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw)
      }
 
    if (!cw->real_hid)
-     evas_object_show(cw->smart_obj);
+     {
+        if (cw->ec->internal)
+          e_comp_object_damage(cw->smart_obj, 0, 0, cw->w, cw->h);
+        evas_object_show(cw->smart_obj);
+     }
 }
 
 static void
diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index bd2fa42..a5000ff 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -4005,6 +4005,7 @@ _e_comp_x_hook_client_new(void *d EINA_UNUSED, E_Client 
*ec)
    ec->ignored = e_comp_ignore_win_find(win);
 
    ec->comp_data = E_NEW(E_Comp_Client_Data, 1);
+   ec->comp_data->first_damage = ec->internal;
    ec->comp_data->set_win_type = ec->comp_data->fetch_exe = 1;
 
    /* FIXME: ewww - round trip */

-- 


Reply via email to