check current client size before rejecting resize

moderately certain this will fix T993 and also probably fix T1053
This commit is contained in:
Mike Blumenkrantz 2014-06-02 08:40:43 -04:00
parent 5d6fc9cc6f
commit 73f35d8444
1 changed files with 4 additions and 2 deletions

View File

@ -807,13 +807,15 @@ _e_comp_intercept_resize(void *data, Evas_Object *obj, int w, int h)
if ((cw->w == w) && (cw->h == h))
{
if ((cw->ec->w != w) || (cw->ec->h != h))
if (((cw->ec->w != w) || (cw->ec->h != h)) ||
(cw->ec->client.w != w - cw->client_inset.l - cw->client_inset.r) ||
(cw->ec->client.h != h - cw->client_inset.t - cw->client_inset.b))
{
/* handle case where client tries to resize itself and back very quickly */
evas_object_smart_callback_call(obj, "client_resize", NULL);
cw->ec->w = w, cw->ec->h = h;
cw->ec->client.w = w - cw->client_inset.l - cw->client_inset.r;
cw->ec->client.h = h - cw->client_inset.t - cw->client_inset.b;
evas_object_smart_callback_call(obj, "client_resize", NULL);
}
return;
}