discomfitor pushed a commit to branch master.

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

commit 6044fd8a78e5d1e2562adb5a539f3562b3e7c8f8
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Jan 24 17:36:47 2014 -0500

    force pixmap refresh for overrides, also automatically set pixmap size
    
    override windows don't get PRESENT notifications, apparently, but this can 
be shortcut anyway by just setting the size from the configure event
---
 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 8379e88..ed314db 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -201,6 +201,8 @@ _e_comp_x_client_new_helper(E_Client *ec)
    ec->w = ec->client.w = ec->comp_data->initial_attributes.w;
    ec->h = ec->client.h = ec->comp_data->initial_attributes.h;
    ec->changes.size = 1;
+   if (ec->override)
+     ec->comp_data->pw = ec->w, ec->comp_data->ph = ec->h;
    
 
    e_pixmap_visual_cmap_set(ec->pixmap, 
ec->comp_data->initial_attributes.visual, 
ec->comp_data->initial_attributes.colormap);
@@ -1362,8 +1364,8 @@ _e_comp_x_configure(void *data EINA_UNUSED, int type 
EINA_UNUSED, Ecore_X_Event_
      evas_object_move(ec->frame, ev->x, ev->y);
    if (resize)
      {
-        if (!ecore_x_present_exists())
-          e_pixmap_dirty(ec->pixmap);
+        ec->comp_data->pw = ev->w, ec->comp_data->ph = ev->h;
+        e_pixmap_dirty(ec->pixmap);
         evas_object_resize(ec->frame, ev->w, ev->h);
      }
    return ECORE_CALLBACK_RENEW;

-- 


Reply via email to