forked from enlightenment/enlightenment
fix crashing when changing desklock settings and using pin/personal auth
This commit is contained in:
parent
3e517158a2
commit
185c236b5a
|
@ -433,9 +433,13 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
||||||
e_config->desklock_auth_method = cfdata->desklock_auth_method;
|
e_config->desklock_auth_method = cfdata->desklock_auth_method;
|
||||||
if (e_config->desklock_auth_method == E_DESKLOCK_AUTH_METHOD_PERSONAL)
|
if (e_config->desklock_auth_method == E_DESKLOCK_AUTH_METHOD_PERSONAL)
|
||||||
{
|
{
|
||||||
e_config->desklock_passwd =
|
if ((!e_config->desklock_passwd) &&
|
||||||
e_auth_hash_djb2(cfdata->desklock_personal_passwd,
|
cfdata->desklock_personal_passwd && cfdata->desklock_personal_passwd[0])
|
||||||
strlen(cfdata->desklock_personal_passwd));
|
{
|
||||||
|
e_config->desklock_passwd =
|
||||||
|
e_auth_hash_djb2(cfdata->desklock_personal_passwd,
|
||||||
|
strlen(cfdata->desklock_personal_passwd));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (cfdata->desklock_auth_method == E_DESKLOCK_AUTH_METHOD_PIN)
|
else if (cfdata->desklock_auth_method == E_DESKLOCK_AUTH_METHOD_PIN)
|
||||||
{
|
{
|
||||||
|
@ -531,17 +535,25 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfda
|
||||||
return 1;
|
return 1;
|
||||||
if (e_config->desklock_auth_method == E_DESKLOCK_AUTH_METHOD_PERSONAL)
|
if (e_config->desklock_auth_method == E_DESKLOCK_AUTH_METHOD_PERSONAL)
|
||||||
{
|
{
|
||||||
if (e_config->desklock_passwd !=
|
if ((!e_config->desklock_passwd) &&
|
||||||
e_auth_hash_djb2(cfdata->desklock_personal_passwd,
|
cfdata->desklock_personal_passwd && cfdata->desklock_personal_passwd[0])
|
||||||
strlen(cfdata->desklock_personal_passwd)))
|
{
|
||||||
return 1;
|
if (e_config->desklock_passwd !=
|
||||||
|
e_auth_hash_djb2(cfdata->desklock_personal_passwd,
|
||||||
|
strlen(cfdata->desklock_personal_passwd)))
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (e_config->desklock_auth_method == E_DESKLOCK_AUTH_METHOD_PIN)
|
if (e_config->desklock_auth_method == E_DESKLOCK_AUTH_METHOD_PIN)
|
||||||
{
|
{
|
||||||
if (e_config->desklock_pin !=
|
if ((!e_config->desklock_pin) &&
|
||||||
e_auth_hash_djb2(cfdata->pin_str,
|
cfdata->pin_str && cfdata->pin_str[0])
|
||||||
strlen(cfdata->pin_str)))
|
{
|
||||||
return 1;
|
if (e_config->desklock_pin !=
|
||||||
|
e_auth_hash_djb2(cfdata->pin_str,
|
||||||
|
strlen(cfdata->pin_str)))
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (e_config->desklock_autolock_screensaver != cfdata->screensaver_lock)
|
if (e_config->desklock_autolock_screensaver != cfdata->screensaver_lock)
|
||||||
|
|
Loading…
Reference in New Issue