add versioning to remembers to prevent badness when new properties are added
This commit is contained in:
parent
56ae997976
commit
9c5509b236
|
@ -284,6 +284,7 @@ _e_config_edd_init(Eina_Bool old)
|
|||
#undef D
|
||||
#define T E_Remember
|
||||
#define D e_remember_edd
|
||||
E_CONFIG_VAL(D, T, version, UINT);
|
||||
E_CONFIG_VAL(D, T, match, INT);
|
||||
E_CONFIG_VAL(D, T, no_reopen, INT);
|
||||
E_CONFIG_VAL(D, T, apply_first_only, UCHAR);
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#define REMEMBER_SIMPLE 0
|
||||
|
||||
EAPI int E_EVENT_REMEMBER_UPDATE = -1;
|
||||
EAPI E_Config_DD *e_remember_edd = NULL;
|
||||
EAPI E_Config_DD *e_remember_edd = NULL; //created in e_config.c
|
||||
|
||||
typedef struct _E_Remember_List E_Remember_List;
|
||||
|
||||
|
@ -223,6 +223,19 @@ EAPI void
|
|||
e_remember_use(E_Remember *rem)
|
||||
{
|
||||
rem->used_count++;
|
||||
if (rem->version < E_REMEMBER_VERSION)
|
||||
{
|
||||
/* upgrade remembers as they get used */
|
||||
switch (rem->version)
|
||||
{
|
||||
case 0:
|
||||
rem->prop.opacity = 255; //don't let people wreck themselves with old configs
|
||||
//fall through
|
||||
default: break;
|
||||
}
|
||||
rem->version = E_REMEMBER_VERSION;
|
||||
e_config_save_queue();
|
||||
}
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
|
|
@ -8,6 +8,8 @@ typedef struct E_Event_Remember_Update
|
|||
} E_Event_Remember_Update;
|
||||
typedef struct _E_Remember E_Remember;
|
||||
|
||||
#define E_REMEMBER_VERSION 1
|
||||
|
||||
#define E_REMEMBER_MATCH_NAME (1 << 0)
|
||||
#define E_REMEMBER_MATCH_CLASS (1 << 1)
|
||||
#define E_REMEMBER_MATCH_TITLE (1 << 2)
|
||||
|
@ -43,6 +45,7 @@ typedef struct _E_Remember E_Remember;
|
|||
|
||||
struct _E_Remember
|
||||
{
|
||||
unsigned int version;
|
||||
int match;
|
||||
int no_reopen;
|
||||
unsigned char apply_first_only;
|
||||
|
|
Loading…
Reference in New Issue