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)
|
if (!rem)
|
||||||
return;
|
return;
|
||||||
|
rem->applying = 1;
|
||||||
if (rem->apply & E_REMEMBER_APPLY_ZONE)
|
if (rem->apply & E_REMEMBER_APPLY_ZONE)
|
||||||
{
|
{
|
||||||
E_Zone *zone;
|
E_Zone *zone;
|
||||||
|
@ -577,6 +577,7 @@ e_remember_apply(E_Remember *rem, E_Client *ec)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rem->applying = 0;
|
||||||
if (temporary)
|
if (temporary)
|
||||||
_e_remember_free(rem);
|
_e_remember_free(rem);
|
||||||
}
|
}
|
||||||
|
@ -713,6 +714,7 @@ _e_remember_event_free(void *d EINA_UNUSED, void *event)
|
||||||
static void
|
static void
|
||||||
_e_remember_update(E_Client *ec, E_Remember *rem)
|
_e_remember_update(E_Client *ec, E_Remember *rem)
|
||||||
{
|
{
|
||||||
|
if (rem->applying) return;
|
||||||
if (rem->apply & E_REMEMBER_APPLY_POS ||
|
if (rem->apply & E_REMEMBER_APPLY_POS ||
|
||||||
rem->apply & E_REMEMBER_APPLY_SIZE)
|
rem->apply & E_REMEMBER_APPLY_SIZE)
|
||||||
{
|
{
|
||||||
|
|
|
@ -118,6 +118,7 @@ struct _E_Remember
|
||||||
} prop;
|
} prop;
|
||||||
Eina_Stringshare *uuid;
|
Eina_Stringshare *uuid;
|
||||||
int pid;
|
int pid;
|
||||||
|
Eina_Bool applying : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
EINTERN int e_remember_init(E_Startup_Mode mode);
|
EINTERN int e_remember_init(E_Startup_Mode mode);
|
||||||
|
|
Loading…
Reference in New Issue