forked from enlightenment/efl
evas: Fix resize & move intercepts
Thanks @zmike for the report.
This in therory should restore behaviour from 1.18,
where the intercept function is called even if the geometry
isn't changed.
Test scenario, in E:
1. remove bryces, shelves on a screen, or mark all as autohide
2. open chromium or any CSD application as unmaximized
3. maximize the window
4. make it fullscreen (eg. with chromium: F11)
See 8a9f0bd603
.
Ref T4749
Fixes T5573
@fix
This commit is contained in:
parent
ed41adf791
commit
f5c4ec6cd9
|
@ -113,22 +113,19 @@ _evas_object_intercept_call_internal(Evas_Object *eo_obj,
|
||||||
}
|
}
|
||||||
i = va_arg(args, int);
|
i = va_arg(args, int);
|
||||||
j = va_arg(args, int);
|
j = va_arg(args, int);
|
||||||
if (!obj->interceptors)
|
if (obj->interceptors)
|
||||||
{
|
blocked = evas_object_intercept_call_move(eo_obj, obj, i, j);
|
||||||
if ((obj->cur->geometry.x == i) && (obj->cur->geometry.y == j))
|
if (!blocked && (obj->cur->geometry.x == i) && (obj->cur->geometry.y == j))
|
||||||
blocked = EINA_TRUE;
|
blocked = 1;
|
||||||
break;
|
|
||||||
}
|
|
||||||
blocked = evas_object_intercept_call_move(eo_obj, obj, i, j);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EVAS_OBJECT_INTERCEPT_CB_RESIZE:
|
case EVAS_OBJECT_INTERCEPT_CB_RESIZE:
|
||||||
i = va_arg(args, int);
|
i = va_arg(args, int);
|
||||||
j = va_arg(args, int);
|
j = va_arg(args, int);
|
||||||
if (_efl_canvas_object_efl_gfx_size_set_block(eo_obj, obj, i, j, internal))
|
if (obj->interceptors)
|
||||||
return 1;
|
blocked = evas_object_intercept_call_resize(eo_obj, obj, i, j);
|
||||||
if (!obj->interceptors) return 0;
|
if (!blocked && _efl_canvas_object_efl_gfx_size_set_block(eo_obj, obj, i, j, internal))
|
||||||
blocked = evas_object_intercept_call_resize(eo_obj, obj, i, j);
|
blocked = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EVAS_OBJECT_INTERCEPT_CB_RAISE:
|
case EVAS_OBJECT_INTERCEPT_CB_RAISE:
|
||||||
|
|
Loading…
Reference in New Issue