handle NULL strings better - need to handle mroe NULLS though

SVN revision: 18617
This commit is contained in:
Carsten Haitzler 2005-11-23 12:56:06 +00:00
parent 4365d69079
commit 725d212f48
4 changed files with 15 additions and 13 deletions

View File

@ -242,8 +242,8 @@ _edje_message_free(Edje_Message *em)
Edje_Message_Signal *emsg;
emsg = (Edje_Message_Signal *)em->msg;
free(emsg->sig);
free(emsg->src);
if (emsg->sig) free(emsg->sig);
if (emsg->src) free(emsg->src);
free(emsg);
}
break;
@ -292,9 +292,9 @@ _edje_message_send(Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, v
Edje_Message_Signal *emsg2, *emsg3;
emsg2 = (Edje_Message_Signal *)emsg;
emsg3 = malloc(sizeof(Edje_Message_Signal));
emsg3->sig = strdup(emsg2->sig);
emsg3->src = strdup(emsg2->src);
emsg3 = calloc(1, sizeof(Edje_Message_Signal));
if (emsg2->sig) emsg3->sig = strdup(emsg2->sig);
if (emsg2->src) emsg3->src = strdup(emsg2->src);
msg = (unsigned char *)emsg3;
}
break;

View File

@ -234,7 +234,7 @@ edje_object_animation_set(Evas_Object *obj, int on)
}
else
{
_edje_emit(ed, "load", "");
_edje_emit(ed, "load", NULL);
if (evas_object_visible_get(obj))
{
evas_object_hide(obj);
@ -811,9 +811,7 @@ _edje_emit_handle(Edje *ed, char *sig, char *src)
Edje_Program *pr;
pr = l->data;
if ((pr->signal) &&
(pr->source) &&
(_edje_glob_match(sig, pr->signal)) &&
if ((_edje_glob_match(sig, pr->signal)) &&
(_edje_glob_match(src, pr->source)))
{
#ifdef EDJE_PROGRAM_CACHE

View File

@ -513,6 +513,9 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
text = chosen_desc->text.text;
font = chosen_desc->text.font;
size = chosen_desc->text.size;
if (!text) text = "";
if (!font) font = "";
if ((chosen_desc->text.text_class) && (chosen_desc->text.text_class[0] != 0))
{

View File

@ -1587,13 +1587,14 @@ _edje_fetch(Evas_Object *obj)
int
_edje_glob_match(char *str, char *glob)
{
if (glob[0] == 0)
if ((!glob) || (glob[0] == 0))
{
if (str[0] == 0) return 1;
if ((!str) || (str[0] == 0)) return 1;
if ((glob) && (glob[0] == '*')) return 1;
return 0;
}
if (!strcmp(glob, "*")) return 1;
if (!fnmatch(glob, str, 0)) return 1;
if (glob[0] == '*') return 1;
if ((glob) && (str) && (!fnmatch(glob, str, 0))) return 1;
return 0;
}