forked from enlightenment/enlightenment
block client rescales during render updates
this guarantees misrenders
This commit is contained in:
parent
80349d417d
commit
15ea006eb5
|
@ -2107,6 +2107,11 @@ _e_client_eval(E_Client *ec)
|
|||
rem_change = 1;
|
||||
prop |= E_CLIENT_PROPERTY_POS;
|
||||
}
|
||||
if (ec->changes.need_rescale)
|
||||
{
|
||||
e_client_rescale(ec);
|
||||
ec->changes.need_rescale = 0;
|
||||
}
|
||||
|
||||
if (ec->changes.reset_gravity)
|
||||
{
|
||||
|
@ -3326,6 +3331,14 @@ e_client_rescale(E_Client *ec)
|
|||
E_OBJECT_CHECK(ec);
|
||||
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
|
||||
|
||||
if (e_comp->updating)
|
||||
{
|
||||
ec->changes.need_rescale = 1;
|
||||
EC_CHANGED(ec);
|
||||
return;
|
||||
}
|
||||
ec->changes.need_rescale = 0;
|
||||
|
||||
shaded = ec->shaded;
|
||||
shade_dir = ec->shade_dir;
|
||||
if (shaded) e_client_unshade(ec, shade_dir);
|
||||
|
|
|
@ -586,6 +586,7 @@ struct E_Client
|
|||
Eina_Bool internal_state : 1;
|
||||
Eina_Bool need_maximize : 1;
|
||||
Eina_Bool need_unmaximize : 1;
|
||||
Eina_Bool need_rescale : 1;
|
||||
} changes;
|
||||
|
||||
unsigned int visible : 1; // client is set to be visible by display server (never use this)
|
||||
|
|
Loading…
Reference in New Issue