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,6 +821,8 @@ _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);
if (ed->collection)
{
for (l = ed->collection->programs; l; l = l->next) for (l = ed->collection->programs; l; l = l->next)
{ {
Edje_Program *pr; Edje_Program *pr;
@ -838,6 +841,7 @@ _edje_emit(Edje *ed, char *sig, char *src)
(_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);
free(ee); free(ee);
@ -1851,6 +1855,7 @@ _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;
if ((ed->collection) && (ed->parts))
evas_object_show(ed->clipper); evas_object_show(ed->clipper);
_edje_emit(ed, "show", ""); _edje_emit(ed, "show", "");
} }