discomfitor pushed a commit to branch master.

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

commit 949a0eeb1555cc8c8cc5267c2a7ee88e65c37d68
Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Jul 30 00:52:20 2014 -0400

    move comp_x pixmap dirty setting to post_resize idler
    
    this fixes a rare race condition which can only be triggered by the tiling 
module
    
    fix T993
---
 src/bin/e_comp_x.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index ab29b2e..2326722 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -573,6 +573,9 @@ _e_comp_x_post_client_idler_cb(void *d EINA_UNUSED)
              ecore_x_window_prop_card32_set(e_client_util_win_get(ec), 
ECORE_X_ATOM_NET_WM_WINDOW_OPACITY, &opacity, 1);
              /* flag gets unset in property cb to avoid fetching opacity after 
we just set it */
           }
+        if (ec->post_resize && (!ecore_x_present_exists()))
+          e_pixmap_dirty(ec->pixmap);
+        e_comp_object_render_update_del(ec->frame);
         ec->post_move = 0;
         ec->post_resize = 0;
      }
@@ -862,8 +865,6 @@ _e_comp_x_evas_resize_cb(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_i
      }
 
    ec->post_resize = 1;
-   if (!ecore_x_present_exists())
-     e_pixmap_dirty(ec->pixmap);
    e_comp_object_render_update_del(ec->frame);
    _e_comp_x_post_client_idler_add(ec);
 }

-- 


Reply via email to