reject client resize attempts for clients with dirty pixmaps

these clients will resize/render correctly only after the next
render loop, so defer until then to avoid #RenderFail

fix T2754
This commit is contained in:
Mike Blumenkrantz 2015-09-29 12:29:41 -04:00
parent b9c4911374
commit f94764feec
1 changed files with 2 additions and 1 deletions

View File

@ -1067,7 +1067,8 @@ _e_comp_intercept_resize(void *data, Evas_Object *obj, int w, int h)
cw->ec->client.h = ih;
if ((cw->ec->client.w < 0) || (cw->ec->client.h < 0)) CRI("WTF");
}
if ((!cw->ec->input_only) && cw->redirected && (!e_pixmap_size_get(cw->ec->pixmap, &pw, &ph)))
if ((!cw->ec->input_only) && cw->redirected && (e_pixmap_dirty_get(cw->ec->pixmap) ||
(!e_pixmap_size_get(cw->ec->pixmap, &pw, &ph))))
{
if (e_comp->comp_type != E_PIXMAP_TYPE_X) return;
/* client can't be resized if its pixmap isn't usable, try again */