forked from enlightenment/efl
ecore-evas/x: rework draw_block unsetting from ConfigureNotify
Summary: draw_block should only be unset if the event is triggered by the wm or the window is an override, otherwise it prematurely begins rendering the window at a size which may or may not be accurate ref T7008 Reviewers: devilhorns, ManMower Reviewed By: ManMower Subscribers: ManMower, cedric, #reviewers, #committers Tags: #efl_display_system Maniphest Tasks: T7008 Differential Revision: https://phab.enlightenment.org/D6793
This commit is contained in:
parent
8e6d66450d
commit
631fd714c3
|
@ -1650,6 +1650,8 @@ _ecore_evas_x_event_window_configure(void *data EINA_UNUSED, int type EINA_UNUSE
|
||||||
if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */
|
if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */
|
||||||
edata = ee->engine.data;
|
edata = ee->engine.data;
|
||||||
if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
|
if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
|
||||||
|
if ((e->from_wm) || (ee->prop.override))
|
||||||
|
{
|
||||||
if (!edata->configured)
|
if (!edata->configured)
|
||||||
{
|
{
|
||||||
if (edata->fully_obscured)
|
if (edata->fully_obscured)
|
||||||
|
@ -1661,7 +1663,9 @@ _ecore_evas_x_event_window_configure(void *data EINA_UNUSED, int type EINA_UNUSE
|
||||||
else
|
else
|
||||||
ee->draw_block = EINA_FALSE;
|
ee->draw_block = EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
edata->configure_coming = 0;
|
||||||
edata->configured = 1;
|
edata->configured = 1;
|
||||||
|
}
|
||||||
if (edata->direct_resize) return ECORE_CALLBACK_PASS_ON;
|
if (edata->direct_resize) return ECORE_CALLBACK_PASS_ON;
|
||||||
|
|
||||||
pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_MOUSE);
|
pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_MOUSE);
|
||||||
|
@ -1671,7 +1675,6 @@ _ecore_evas_x_event_window_configure(void *data EINA_UNUSED, int type EINA_UNUSE
|
||||||
|
|
||||||
if (edata->configure_reqs > 0) edata->configure_reqs--;
|
if (edata->configure_reqs > 0) edata->configure_reqs--;
|
||||||
|
|
||||||
edata->configure_coming = 0;
|
|
||||||
if ((e->from_wm) || (ee->prop.override))
|
if ((e->from_wm) || (ee->prop.override))
|
||||||
{
|
{
|
||||||
if ((ee->x != e->x) || (ee->y != e->y))
|
if ((ee->x != e->x) || (ee->y != e->y))
|
||||||
|
|
Loading…
Reference in New Issue