discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 21d2a84c2eeb49347c8d4a5db6ae12339eafa042
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 6787974..28b9b62 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2696,7 +2696,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) return ECORE_CALLBACK_PASS_ON;
-   if (ec->comp_data->damage)
+   if (ec->override && (!ec->comp_data->first_damage))
+     e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h);
+   else if (ec->comp_data->damage)
      {
         Ecore_X_Region parts;
         Ecore_X_Rectangle bounds;
@@ -2711,7 +2713,7 @@ _e_comp_x_damage(void *data EINA_UNUSED, int type 
EINA_UNUSED, Ecore_X_Event_Dam
    if (!n) return ECORE_CALLBACK_RENEW;
    if (ec->comp->nocomp)
      e_pixmap_dirty(ec->pixmap);
-   else
+   else if (n)
      {
         int i;
 

-- 


Reply via email to