evas_object_geometry_get(obj, NULL, NULL, &ow, &oh);
ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
- if ((w != ow) || (h != oh)) /* avoid recursion on ecore_evas_resize side */
+ /*if ((w != ow) || (h != oh))*/ /* avoid recursion on ecore_evas_resize side */
ecore_evas_resize(ee, ow, oh);
}
if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
if (ee->engine.x.direct_resize) return ECORE_CALLBACK_PASS_ON;
+ ee->engine.x.configure_coming = 0;
if ((e->from_wm) || (ee->prop.override))
{
if ((ee->x != e->x) || (ee->y != e->y))
}
else
{
- if ((ee->x != x) || (ee->y != y))
+ if (((ee->x != x) || (ee->y != y)) ||
+ (ee->engine.x.configure_coming))
{
+ ee->engine.x.configure_coming = 1;
if (!ee->engine.x.managed)
{
ee->x = x;
if (ee->func.fn_resize) ee->func.fn_resize(ee);
}
}
- else if ((ee->w != w) || (ee->h != h))
- ecore_x_window_resize(ee->prop.window, w, h);
+ else if (((ee->w != w) || (ee->h != h)) ||
+ (ee->engine.x.configure_coming))
+ {
+ ee->engine.x.configure_coming = 1;
+ ecore_x_window_resize(ee->prop.window, w, h);
+ }
}
static void
}
}
}
- else
+ else if (((ee->w != w) || (ee->h != h) || (ee->x != x) || (ee->y != y)) ||
+ (ee->engine.x.configure_coming))
{
+ ee->engine.x.configure_coming = 1;
ecore_x_window_move_resize(ee->prop.window, x, y, w, h);
if (!ee->engine.x.managed)
{
if (!resize)
{
+ ee->engine.x.configure_coming = 1;
if (!ee->prop.fullscreen)
{
ecore_x_window_resize(ee->prop.window, ee->req.h, ee->req.w);