forked from enlightenment/enlightenment
block updating window remembers while applying them
some attrs (e.g., desk setting) change the position/size of a window before another attr is set, changing the original value fix T5295
This commit is contained in:
parent
35594d43f9
commit
528bad7252
|
@ -307,7 +307,7 @@ e_remember_apply(E_Remember *rem, E_Client *ec)
|
|||
|
||||
if (!rem)
|
||||
return;
|
||||
|
||||
rem->applying = 1;
|
||||
if (rem->apply & E_REMEMBER_APPLY_ZONE)
|
||||
{
|
||||
E_Zone *zone;
|
||||
|
@ -577,6 +577,7 @@ e_remember_apply(E_Remember *rem, E_Client *ec)
|
|||
}
|
||||
}
|
||||
|
||||
rem->applying = 0;
|
||||
if (temporary)
|
||||
_e_remember_free(rem);
|
||||
}
|
||||
|
@ -713,6 +714,7 @@ _e_remember_event_free(void *d EINA_UNUSED, void *event)
|
|||
static void
|
||||
_e_remember_update(E_Client *ec, E_Remember *rem)
|
||||
{
|
||||
if (rem->applying) return;
|
||||
if (rem->apply & E_REMEMBER_APPLY_POS ||
|
||||
rem->apply & E_REMEMBER_APPLY_SIZE)
|
||||
{
|
||||
|
|
|
@ -118,6 +118,7 @@ struct _E_Remember
|
|||
} prop;
|
||||
Eina_Stringshare *uuid;
|
||||
int pid;
|
||||
Eina_Bool applying : 1;
|
||||
};
|
||||
|
||||
EINTERN int e_remember_init(E_Startup_Mode mode);
|
||||
|
|
Loading…
Reference in New Issue