From 6044fd8a78e5d1e2562adb5a539f3562b3e7c8f8 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 24 Jan 2014 17:36:47 -0500 Subject: [PATCH] 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 8379e88ed..ed314dbd4 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;