dont segv on empty bind param etc. matches. also a note for intle.

SVN revision: 18639
This commit is contained in:
Carsten Haitzler 2005-11-25 04:10:54 +00:00
parent 4245869a3c
commit 2551e897ed
2 changed files with 23 additions and 11 deletions

View File

@ -1711,8 +1711,10 @@ e_config_binding_mouse_match(E_Config_Binding_Mouse *eb_in)
(eb->button == eb_in->button) &&
(eb->modifiers == eb_in->modifiers) &&
(eb->any_mod == eb_in->any_mod) &&
(!strcmp(eb->action, eb_in->action)) &&
(!strcmp(eb->params, eb_in->params)))
(((eb->action) && (eb_in->action) && (!strcmp(eb->action, eb_in->action))) ||
((!eb->action) && (!eb_in->action))) &&
(((eb->params) && (eb_in->params) && (!strcmp(eb->params, eb_in->params))) ||
((!eb->params) && (!eb_in->params))))
return eb;
}
return NULL;
@ -1731,9 +1733,12 @@ e_config_binding_key_match(E_Config_Binding_Key *eb_in)
if ((eb->context == eb_in->context) &&
(eb->modifiers == eb_in->modifiers) &&
(eb->any_mod == eb_in->any_mod) &&
(!strcmp(eb->key, eb_in->key)) &&
(!strcmp(eb->action, eb_in->action)) &&
(!strcmp(eb->params, eb_in->params)))
(((eb->key) && (eb_in->key) && (!strcmp(eb->key, eb_in->key))) ||
((!eb->key) && (!eb_in->key))) &&
(((eb->action) && (eb_in->action) && (!strcmp(eb->action, eb_in->action))) ||
((!eb->action) && (!eb_in->action))) &&
(((eb->params) && (eb_in->params) && (!strcmp(eb->params, eb_in->params))) ||
((!eb->params) && (!eb_in->params))))
return eb;
}
return NULL;
@ -1752,10 +1757,14 @@ e_config_binding_signal_match(E_Config_Binding_Signal *eb_in)
if ((eb->context == eb_in->context) &&
(eb->modifiers == eb_in->modifiers) &&
(eb->any_mod == eb_in->any_mod) &&
(!strcmp(eb->signal, eb_in->signal)) &&
(!strcmp(eb->source, eb_in->source)) &&
(!strcmp(eb->action, eb_in->action)) &&
(!strcmp(eb->params, eb_in->params)))
(((eb->signal) && (eb_in->signal) && (!strcmp(eb->signal, eb_in->signal))) ||
((!eb->signal) && (!eb_in->signal))) &&
(((eb->source) && (eb_in->source) && (!strcmp(eb->source, eb_in->source))) ||
((!eb->source) && (!eb_in->source))) &&
(((eb->action) && (eb_in->action) && (!strcmp(eb->action, eb_in->action))) ||
((!eb->action) && (!eb_in->action))) &&
(((eb->params) && (eb_in->params) && (!strcmp(eb->params, eb_in->params))) ||
((!eb->params) && (!eb_in->params))))
return eb;
}
return NULL;
@ -1776,8 +1785,10 @@ e_config_binding_wheel_match(E_Config_Binding_Wheel *eb_in)
(eb->z == eb_in->z) &&
(eb->modifiers == eb_in->modifiers) &&
(eb->any_mod == eb_in->any_mod) &&
(!strcmp(eb->action, eb_in->action)) &&
(!strcmp(eb->params, eb_in->params)))
(((eb->action) && (eb_in->action) && (!strcmp(eb->action, eb_in->action))) ||
((!eb->action) && (!eb_in->action))) &&
(((eb->params) && (eb_in->params) && (!strcmp(eb->params, eb_in->params))) ||
((!eb->params) && (!eb_in->params))))
return eb;
}
return NULL;

View File

@ -152,6 +152,7 @@ e_intl_language_set(const char *lang)
{
_e_intl_language = strdup(lang);
e_util_env_set("LANGUAGE", _e_intl_language);
/* FIXME: maybe we should set these anyway? */
if (getenv("LANG")) e_util_env_set("LANG", _e_intl_language);
if (getenv("LC_ALL")) e_util_env_set("LC_ALL", _e_intl_language);
if (getenv("LC_MESSAGES")) e_util_env_set("LC_MESSAGES", _e_intl_language);