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
devs/bu5hm4n/sandbox_fix
Mike Blumenkrantz 6 years ago
parent 35594d43f9
commit 528bad7252
  1. 4
      src/bin/e_remember.c
  2. 1
      src/bin/e_remember.h

@ -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…
Cancel
Save