I lied. 1 more commit for the weekend. don't segv if the edje part isn't

fully loaded. Also shadow is a little more subtle


SVN revision: 7065
This commit is contained in:
Carsten Haitzler 2003-06-22 13:52:08 +00:00
parent 965f0a2466
commit 6fec7571de
2 changed files with 22 additions and 17 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -11,7 +11,6 @@
/* FIXME: reduce linked list walking and list_nth calls */ /* FIXME: reduce linked list walking and list_nth calls */
/* FIXME: named parts need to be able to be "replaced" with new evas objects */ /* FIXME: named parts need to be able to be "replaced" with new evas objects */
/* FIXME: need to be able to calculate min & max size of a whole edje */ /* FIXME: need to be able to calculate min & max size of a whole edje */
/* FIXME: on load don't segv on errors */
/* FIXME: add code to list collections in an eet */ /* FIXME: add code to list collections in an eet */
/* FIXME: part replacement with objec t+callbacks */ /* FIXME: part replacement with objec t+callbacks */
/* FIXME: part queries for geometry etc. */ /* FIXME: part queries for geometry etc. */
@ -224,6 +223,8 @@ edje_file_set(Evas_Object *obj, const char *file, const char *part)
_edje_recalc(ed); _edje_recalc(ed);
_edje_emit(ed, "load", ""); _edje_emit(ed, "load", "");
_edje_thaw(ed); _edje_thaw(ed);
if ((ed->parts) && (evas_object_visible_get(obj)))
evas_object_show(ed->clipper);
} }
} }
@ -820,23 +821,26 @@ _edje_emit(Edje *ed, char *sig, char *src)
{ {
ee = emissions->data; ee = emissions->data;
emissions = evas_list_remove(emissions, ee); emissions = evas_list_remove(emissions, ee);
for (l = ed->collection->programs; l; l = l->next) if (ed->collection)
{ {
Edje_Program *pr; for (l = ed->collection->programs; l; l = l->next)
{
Edje_Program *pr;
pr = l->data; pr = l->data;
if ((_edje_glob_match(ee->signal, pr->signal)) && if ((_edje_glob_match(ee->signal, pr->signal)) &&
(_edje_glob_match(ee->source, pr->source))) (_edje_glob_match(ee->source, pr->source)))
_edje_program_run(ed, pr); _edje_program_run(ed, pr);
} }
for (l = ed->callbacks; l; l = l->next) for (l = ed->callbacks; l; l = l->next)
{ {
Edje_Signal_Callback *escb; Edje_Signal_Callback *escb;
escb = l->data; escb = l->data;
if ((_edje_glob_match(ee->signal, escb->signal)) && if ((_edje_glob_match(ee->signal, escb->signal)) &&
(_edje_glob_match(ee->source, escb->source))) (_edje_glob_match(ee->source, escb->source)))
escb->func(escb->data, ed->obj, ee->signal, ee->source); escb->func(escb->data, ed->obj, ee->signal, ee->source);
}
} }
free(ee->signal); free(ee->signal);
free(ee->source); free(ee->source);
@ -1851,7 +1855,8 @@ _edje_smart_show(Evas_Object * obj)
ed = evas_object_smart_data_get(obj); ed = evas_object_smart_data_get(obj);
if (!ed) return; if (!ed) return;
evas_object_show(ed->clipper); if ((ed->collection) && (ed->parts))
evas_object_show(ed->clipper);
_edje_emit(ed, "show", ""); _edje_emit(ed, "show", "");
} }