discomfitor pushed a commit to branch master.

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

commit f6be76122637d47fdca7505c896bbf5512e2c8c1
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Tue Oct 13 17:07:30 2015 -0400

    force full damage for first frame of x11 override clients
    
    it seems that damages for popup windows in some applications,
    namely blink-based browsers, are reported incorrectly, resulting
    in sometimes having a blank window
---
 src/bin/e_comp_x.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 9fee970..09fd15a 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2807,7 +2807,9 @@ _e_comp_x_damage(void *data EINA_UNUSED, int type 
EINA_UNUSED, Ecore_X_Event_Dam
 
    ec = _e_comp_x_client_find_by_damage(ev->damage);
    if ((!ec) || e_object_is_del(E_OBJECT(ec))) return ECORE_CALLBACK_PASS_ON;
-   if (_e_comp_x_client_data_get(ec)->damage)
+   if (ec->override && (!_e_comp_x_client_data_get(ec)->first_damage))
+     e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h);
+   else if (_e_comp_x_client_data_get(ec)->damage)
      {
         Ecore_X_Region parts;
         Ecore_X_Rectangle bounds;
@@ -2822,7 +2824,7 @@ _e_comp_x_damage(void *data EINA_UNUSED, int type 
EINA_UNUSED, Ecore_X_Event_Dam
    if (!n) return ECORE_CALLBACK_RENEW;
    if (e_comp->nocomp)
      e_pixmap_dirty(ec->pixmap);
-   else
+   else if (n)
      {
         int i;
 

-- 


Reply via email to