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
|
#undef D
|
||||||
#define T E_Remember
|
#define T E_Remember
|
||||||
#define D e_remember_edd
|
#define D e_remember_edd
|
||||||
|
E_CONFIG_VAL(D, T, version, UINT);
|
||||||
E_CONFIG_VAL(D, T, match, INT);
|
E_CONFIG_VAL(D, T, match, INT);
|
||||||
E_CONFIG_VAL(D, T, no_reopen, INT);
|
E_CONFIG_VAL(D, T, no_reopen, INT);
|
||||||
E_CONFIG_VAL(D, T, apply_first_only, UCHAR);
|
E_CONFIG_VAL(D, T, apply_first_only, UCHAR);
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#define REMEMBER_SIMPLE 0
|
#define REMEMBER_SIMPLE 0
|
||||||
|
|
||||||
EAPI int E_EVENT_REMEMBER_UPDATE = -1;
|
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;
|
typedef struct _E_Remember_List E_Remember_List;
|
||||||
|
|
||||||
|
@ -223,6 +223,19 @@ EAPI void
|
||||||
e_remember_use(E_Remember *rem)
|
e_remember_use(E_Remember *rem)
|
||||||
{
|
{
|
||||||
rem->used_count++;
|
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
|
EAPI void
|
||||||
|
|
|
@ -8,6 +8,8 @@ typedef struct E_Event_Remember_Update
|
||||||
} E_Event_Remember_Update;
|
} E_Event_Remember_Update;
|
||||||
typedef struct _E_Remember E_Remember;
|
typedef struct _E_Remember E_Remember;
|
||||||
|
|
||||||
|
#define E_REMEMBER_VERSION 1
|
||||||
|
|
||||||
#define E_REMEMBER_MATCH_NAME (1 << 0)
|
#define E_REMEMBER_MATCH_NAME (1 << 0)
|
||||||
#define E_REMEMBER_MATCH_CLASS (1 << 1)
|
#define E_REMEMBER_MATCH_CLASS (1 << 1)
|
||||||
#define E_REMEMBER_MATCH_TITLE (1 << 2)
|
#define E_REMEMBER_MATCH_TITLE (1 << 2)
|
||||||
|
@ -43,6 +45,7 @@ typedef struct _E_Remember E_Remember;
|
||||||
|
|
||||||
struct _E_Remember
|
struct _E_Remember
|
||||||
{
|
{
|
||||||
|
unsigned int version;
|
||||||
int match;
|
int match;
|
||||||
int no_reopen;
|
int no_reopen;
|
||||||
unsigned char apply_first_only;
|
unsigned char apply_first_only;
|
||||||
|
|
Loading…
Reference in New Issue