edje_load.c   edje_load.c 
skipping to change at line 128 skipping to change at line 128
EAPI Eina_Bool EAPI Eina_Bool
edje_file_group_exists(const char *file, const char *glob) edje_file_group_exists(const char *file, const char *glob)
{ {
Edje_File *edf; Edje_File *edf;
int error_ret = 0; int error_ret = 0;
Eina_Bool succeed = EINA_FALSE; Eina_Bool succeed = EINA_FALSE;
Eina_Bool is_glob = EINA_FALSE; Eina_Bool is_glob = EINA_FALSE;
const char *p; const char *p;
if ((!file) || (!*file)) if ((!file) || (!*file) || (!glob))
return EINA_FALSE; return EINA_FALSE;
edf = _edje_cache_file_coll_open(file, NULL, &error_ret, NULL); edf = _edje_cache_file_coll_open(file, NULL, &error_ret, NULL);
if (!edf) if (!edf)
return EINA_FALSE; return EINA_FALSE;
for (p = glob; *p; p++) for (p = glob; *p; p++)
{ {
if ((*p == '*') || (*p == '?') || (*p == '[')) if ((*p == '*') || (*p == '?') || (*p == '['))
{ {
skipping to change at line 227 skipping to change at line 227
void void
_edje_programs_patterns_init(Edje *ed) _edje_programs_patterns_init(Edje *ed)
{ {
Edje_Signals_Sources_Patterns *ssp = &ed->patterns.programs; Edje_Signals_Sources_Patterns *ssp = &ed->patterns.programs;
Edje_Program **all; Edje_Program **all;
unsigned int i, j; unsigned int i, j;
if (ssp->signals_patterns) if (ssp->signals_patterns)
return; return;
if (getenv("EDJE_DUMP_PROGRAMS"))
{
INF("Group '%s' programs:", ed->group);
#define EDJE_DUMP_PROGRAM(Section) \
for (i = 0; i < ed->collection->programs.Section##_count; i++) \
INF(#Section" for ('%s', '%s')", ed->collection->programs.Section[i
]->signal, ed->collection->programs.Section[i]->source);
EDJE_DUMP_PROGRAM(strcmp);
EDJE_DUMP_PROGRAM(strncmp);
EDJE_DUMP_PROGRAM(strrncmp);
EDJE_DUMP_PROGRAM(fnmatch);
EDJE_DUMP_PROGRAM(nocmp);
}
edje_match_program_hash_build(ed->collection->programs.strcmp, edje_match_program_hash_build(ed->collection->programs.strcmp,
ed->collection->programs.strcmp_count, ed->collection->programs.strcmp_count,
&ssp->exact_match); &ssp->exact_match);
j = ed->collection->programs.strncmp_count j = ed->collection->programs.strncmp_count
+ ed->collection->programs.strrncmp_count + ed->collection->programs.strrncmp_count
+ ed->collection->programs.fnmatch_count + ed->collection->programs.fnmatch_count
+ ed->collection->programs.nocmp_count; + ed->collection->programs.nocmp_count;
if (j == 0) return ; if (j == 0) return ;
skipping to change at line 263 skipping to change at line 277
ssp->u.programs.count = j; ssp->u.programs.count = j;
ssp->signals_patterns = edje_match_programs_signal_init(all, j); ssp->signals_patterns = edje_match_programs_signal_init(all, j);
ssp->sources_patterns = edje_match_programs_source_init(all, j); ssp->sources_patterns = edje_match_programs_source_init(all, j);
} }
int int
_edje_object_file_set_internal(Evas_Object *obj, const char *file, const ch ar *group, const char *parent, Eina_List *group_path) _edje_object_file_set_internal(Evas_Object *obj, const char *file, const ch ar *group, const char *parent, Eina_List *group_path)
{ {
Edje *ed; Edje *ed;
Evas *tev; Evas *tev;
Edje_Real_Part *rp;
Eina_List *textblocks = NULL;
Eina_List *sources = NULL;
Eina_List *externals = NULL;
Eina_List *old_swallows; Eina_List *old_swallows;
unsigned int n; unsigned int n;
Eina_List *parts = NULL; Eina_List *parts = NULL;
int group_path_started = 0; int group_path_started = 0;
ed = _edje_fetch(obj); ed = _edje_fetch(obj);
if (!ed) return 0; if (!ed) return 0;
if (!file) file = ""; if (!file) file = "";
if (!group) group = ""; if (!group) group = "";
if (((ed->path) && (!strcmp(file, ed->path))) && if (((ed->path) && (!strcmp(file, ed->path))) &&
(ed->group) && (!strcmp(group, ed->group)) && (ed->group) && (!strcmp(group, ed->group)))
ed->file) return 1;
{
struct stat st;
if (stat(file, &st) != 0)
return 1;
if (st.st_mtime == ed->file->mtime)
return 1;
}
tev = evas_object_evas_get(obj); tev = evas_object_evas_get(obj);
evas_event_freeze(tev); evas_event_freeze(tev);
old_swallows = _edje_swallows_collect(ed); old_swallows = _edje_swallows_collect(ed);
if (_edje_script_only(ed)) _edje_script_only_shutdown(ed); if (_edje_script_only(ed)) _edje_script_only_shutdown(ed);
if (_edje_lua_script_only(ed)) _edje_lua_script_only_shutdown(ed); if (_edje_lua_script_only(ed)) _edje_lua_script_only_shutdown(ed);
_edje_file_del(ed); _edje_file_del(ed);
eina_stringshare_replace(&ed->path, file); eina_stringshare_replace(&ed->path, file);
eina_stringshare_replace(&ed->group, group); eina_stringshare_replace(&ed->group, group);
ed->parent = eina_stringshare_add(parent); ed->parent = eina_stringshare_add(parent);
ed->load_error = EDJE_LOAD_ERROR_NONE; ed->load_error = EDJE_LOAD_ERROR_NONE;
_edje_file_add(ed); _edje_file_add(ed);
ed->block_break = 0;
if (ed->file && ed->file->external_dir) if (ed->file && ed->file->external_dir)
{ {
unsigned int i; unsigned int i;
for (i = 0; i < ed->file->external_dir->entries_count; ++i) for (i = 0; i < ed->file->external_dir->entries_count; ++i)
edje_module_load(ed->file->external_dir->entries[i].entry); edje_module_load(ed->file->external_dir->entries[i].entry);
} }
_edje_textblock_styles_add(ed); _edje_textblock_styles_add(ed);
skipping to change at line 332 skipping to change at line 343
_edje_script_only_init(ed); _edje_script_only_init(ed);
} }
else if (ed->collection->lua_script_only) else if (ed->collection->lua_script_only)
{ {
ed->load_error = EDJE_LOAD_ERROR_NONE; ed->load_error = EDJE_LOAD_ERROR_NONE;
_edje_lua_script_only_init(ed); _edje_lua_script_only_init(ed);
} }
else else
{ {
unsigned int i; unsigned int i;
int errors = 0;
/* colorclass stuff */ /* colorclass stuff */
for (i = 0; i < ed->collection->parts_count; ++i) for (i = 0; i < ed->collection->parts_count; ++i)
{ {
Edje_Part *ep; Edje_Part *ep;
unsigned int k; unsigned int k;
ep = ed->collection->parts[i]; ep = ed->collection->parts[i];
if (errors)
break;
/* Register any color classes in this parts descriptions. */ /* Register any color classes in this parts descriptions. */
if ((ep->default_desc) && (ep->default_desc->color_class)) if ((ep->default_desc) && (ep->default_desc->color_class))
_edje_color_class_member_add(ed, ep->default_desc->color _class); _edje_color_class_member_add(ed, ep->default_desc->color _class);
for (k = 0; k < ep->other.desc_count; k++) for (k = 0; k < ep->other.desc_count; k++)
{ {
Edje_Part_Description_Common *desc; Edje_Part_Description_Common *desc;
desc = ep->other.desc[k]; desc = ep->other.desc[k];
if (desc->color_class) if (desc->color_class)
_edje_color_class_member_add(ed, desc->color_class) ; _edje_color_class_member_add(ed, desc->color_class) ;
} }
} }
/* build real parts */ /* build real parts */
for (n = 0; n < ed->collection->parts_count; n++) for (n = 0; n < ed->collection->parts_count; n++)
{ {
Edje_Part *ep; Edje_Part *ep;
Edje_Real_Part *rp;
ep = ed->collection->parts[n]; ep = ed->collection->parts[n];
rp = eina_mempool_malloc(_edje_real_part_mp, sizeof(Edje_R eal_Part)); rp = eina_mempool_malloc(_edje_real_part_mp, sizeof(Edje_R eal_Part));
if (!rp) if (!rp)
{ {
/* FIXME: destroy all allocated ressource, need to h ave a common exit point */
ed->load_error = EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_ FAILED; ed->load_error = EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_ FAILED;
evas_event_thaw(tev); evas_event_thaw(tev);
evas_event_thaw_eval(tev); evas_event_thaw_eval(tev);
return 0; return 0;
} }
memset(rp, 0, sizeof (Edje_Real_Part)); memset(rp, 0, sizeof (Edje_Real_Part));
if ((ep->dragable.x != 0) || (ep->dragable.y != 0)) if ((ep->dragable.x != 0) || (ep->dragable.y != 0))
{ {
skipping to change at line 416 skipping to change at line 424
break; break;
case EDJE_PART_TYPE_PROXY: case EDJE_PART_TYPE_PROXY:
case EDJE_PART_TYPE_IMAGE: case EDJE_PART_TYPE_IMAGE:
rp->object = evas_object_image_add(ed->base.evas); rp->object = evas_object_image_add(ed->base.evas);
break; break;
case EDJE_PART_TYPE_TEXT: case EDJE_PART_TYPE_TEXT:
_edje_text_part_on_add(ed, rp); _edje_text_part_on_add(ed, rp);
rp->object = evas_object_text_add(ed->base.evas); rp->object = evas_object_text_add(ed->base.evas);
evas_object_text_font_source_set(rp->object, ed->pat h); evas_object_text_font_source_set(rp->object, ed->pat h);
break; break;
case EDJE_PART_TYPE_SWALLOW:
case EDJE_PART_TYPE_GROUP: case EDJE_PART_TYPE_GROUP:
sources = eina_list_append(sources, rp);
case EDJE_PART_TYPE_SWALLOW:
case EDJE_PART_TYPE_EXTERNAL: case EDJE_PART_TYPE_EXTERNAL:
if (ep->type == EDJE_PART_TYPE_EXTERNAL)
externals = eina_list_append(externals, rp);
rp->object = evas_object_rectangle_add(ed->base.evas ); rp->object = evas_object_rectangle_add(ed->base.evas );
evas_object_color_set(rp->object, 0, 0, 0, 0); evas_object_color_set(rp->object, 0, 0, 0, 0);
evas_object_pass_events_set(rp->object, 1); evas_object_pass_events_set(rp->object, 1);
evas_object_pointer_mode_set(rp->object, EVAS_OBJECT _POINTER_MODE_NOGRAB); evas_object_pointer_mode_set(rp->object, EVAS_OBJECT _POINTER_MODE_NOGRAB);
_edje_callbacks_focus_add(rp->object, ed, rp); _edje_callbacks_focus_add(rp->object, ed, rp);
break; break;
case EDJE_PART_TYPE_TEXTBLOCK: case EDJE_PART_TYPE_TEXTBLOCK:
textblocks = eina_list_append(textblocks, rp);
rp->object = evas_object_textblock_add(ed->base.evas ); rp->object = evas_object_textblock_add(ed->base.evas );
break; break;
case EDJE_PART_TYPE_BOX: case EDJE_PART_TYPE_BOX:
sources = eina_list_append(sources, rp);
rp->object = evas_object_box_add(ed->base.evas); rp->object = evas_object_box_add(ed->base.evas);
rp->anim = _edje_box_layout_anim_new(rp->object); rp->anim = _edje_box_layout_anim_new(rp->object);
break; break;
case EDJE_PART_TYPE_TABLE: case EDJE_PART_TYPE_TABLE:
sources = eina_list_append(sources, rp);
rp->object = evas_object_table_add(ed->base.evas); rp->object = evas_object_table_add(ed->base.evas);
break; break;
case EDJE_PART_TYPE_GRADIENT: case EDJE_PART_TYPE_GRADIENT:
ERR("SPANK ! SPANK ! SPANK ! YOU ARE USING GRADIENT IN PART %s FROM GROUP %s INSIDE FILE %s !! THEY ARE NOW REMOVED !", ERR("SPANK ! SPANK ! SPANK ! YOU ARE USING GRADIENT IN PART %s FROM GROUP %s INSIDE FILE %s !! THEY ARE NOW REMOVED !",
ep->name, group, file); ep->name, group, file);
default: default:
ERR("wrong part type %i!", ep->type); ERR("wrong part type %i!", ep->type);
break; break;
} }
skipping to change at line 472 skipping to change at line 486
} }
if (ep->precise_is_inside) if (ep->precise_is_inside)
evas_object_precise_is_inside_set(rp->object, 1); evas_object_precise_is_inside_set(rp->object, 1);
} }
if (rp->part->clip_to_id < 0) if (rp->part->clip_to_id < 0)
evas_object_clip_set(rp->object, ed->base.clipper); evas_object_clip_set(rp->object, ed->base.clipper);
} }
} }
if (n > 0) if (n > 0)
{ {
Edje_Real_Part *rp;
Eina_List *l; Eina_List *l;
ed->table_parts = malloc(sizeof(Edje_Real_Part *) * n); ed->table_parts = malloc(sizeof(Edje_Real_Part *) * n);
ed->table_parts_size = n; ed->table_parts_size = n;
/* FIXME: check malloc return */ /* FIXME: check malloc return */
n = 0; n = 0;
EINA_LIST_FOREACH(parts, l, rp) EINA_LIST_FOREACH(parts, l, rp)
{ {
ed->table_parts[n] = rp; ed->table_parts[n] = rp;
n++; n++;
skipping to change at line 528 skipping to change at line 541
{ {
rp->events_to = rp->events_to =
ed->table_parts[rp->part->dragable.event_id % ed->table_parts_size]; ed->table_parts[rp->part->dragable.event_id % ed->table_parts_size];
/* events_to may be used only with dragable */ /* events_to may be used only with dragable */
if (!rp->events_to->part->dragable.x && if (!rp->events_to->part->dragable.x &&
!rp->events_to->part->dragable.y) !rp->events_to->part->dragable.y)
rp->events_to = NULL; rp->events_to = NULL;
} }
rp->swallow_params.min.w = 0; rp->swallow_params.min.w = 0;
rp->swallow_params.min.w = 0; rp->swallow_params.min.h = 0;
rp->swallow_params.max.w = -1; rp->swallow_params.max.w = -1;
rp->swallow_params.max.h = -1; rp->swallow_params.max.h = -1;
if (rp->part->type == EDJE_PART_TYPE_TEXT if (rp->part->type == EDJE_PART_TYPE_TEXT
|| rp->part->type == EDJE_PART_TYPE_TEXTBLOCK) || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
{ {
Edje_Part_Description_Text *text; Edje_Part_Description_Text *text;
text = (Edje_Part_Description_Text *) rp->param1 .description; text = (Edje_Part_Description_Text *) rp->param1 .description;
skipping to change at line 596 skipping to change at line 609
EDJE_LOAD_BUILD_TABLE(nocmp, ed, i, pr); EDJE_LOAD_BUILD_TABLE(nocmp, ed, i, pr);
} }
} }
_edje_ref(ed); _edje_ref(ed);
_edje_block(ed); _edje_block(ed);
_edje_freeze(ed); _edje_freeze(ed);
// if (ed->collection->script) _edje_embryo_script_init(ed); // if (ed->collection->script) _edje_embryo_script_init(ed);
_edje_var_init(ed); _edje_var_init(ed);
for (i = 0; i < ed->table_parts_size; i++) for (i = 0; i < ed->table_parts_size; i++)
{ {
Edje_Real_Part *rp;
rp = ed->table_parts[i]; rp = ed->table_parts[i];
evas_object_show(rp->object); evas_object_show(rp->object);
if (_edje_block_break(ed)) break; if (_edje_block_break(ed)) break;
if (rp->drag) if (rp->drag)
{ {
if (rp->part->dragable.x < 0) rp->drag->val.x = FROM_ DOUBLE(1.0); if (rp->part->dragable.x < 0) rp->drag->val.x = FROM_ DOUBLE(1.0);
if (rp->part->dragable.y < 0) rp->drag->val.x = FROM_ DOUBLE(1.0); if (rp->part->dragable.y < 0) rp->drag->val.x = FROM_ DOUBLE(1.0);
_edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->d rag->val.y); _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->d rag->val.y);
} }
} }
ed->recalc_call = 1;
ed->dirty = 1; ed->dirty = 1;
#ifdef EDJE_CALC_CACHE #ifdef EDJE_CALC_CACHE
ed->all_part_change = 1; ed->all_part_change = 1;
#endif #endif
if ((evas_object_clipees_get(ed->base.clipper)) && if ((evas_object_clipees_get(ed->base.clipper)) &&
(evas_object_visible_get(obj))) (evas_object_visible_get(obj)))
evas_object_show(ed->base.clipper); evas_object_show(ed->base.clipper);
/* instantiate 'internal swallows' */ /* instantiate 'internal swallows' */
for (i = 0; i < ed->table_parts_size; i++) EINA_LIST_FREE(externals, rp)
{
Edje_Part_Description_External *external;
Evas_Object *child_obj;
external = (Edje_Part_Description_External *) rp->part->d
efault_desc;
child_obj = _edje_external_type_add(rp->part->source,
evas_object_evas_get(
ed->obj), ed->obj,
external->external_pa
rams, rp->part->name);
if (child_obj)
{
_edje_real_part_swallow(rp, child_obj, EINA_TRUE);
rp->param1.external_params = _edje_external_params_p
arse(child_obj,
external->external_params);
_edje_external_recalc_apply(ed, rp, NULL, rp->chosen
_description);
}
}
EINA_LIST_FREE(sources, rp)
{ {
Edje_Real_Part *rp;
/* XXX: curr_item and pack_it don't require to be NULL sin ce /* XXX: curr_item and pack_it don't require to be NULL sin ce
* XXX: they are just used when source != NULL and type == BOX, * XXX: they are just used when source != NULL and type == BOX,
* XXX: and they're always set in this case, but GCC fails to * XXX: and they're always set in this case, but GCC fails to
* XXX: notice that, so let's shut it up * XXX: notice that, so let's shut it up
*/ */
Edje_Pack_Element **curr_item = NULL; Edje_Pack_Element **curr_item = NULL;
unsigned int item_count = 0; unsigned int item_count = 0;
Edje_Pack_Element *pack_it = NULL; Edje_Pack_Element *pack_it = NULL;
const char *source = NULL; const char *source = NULL;
rp = ed->table_parts[i];
switch (rp->part->type) switch (rp->part->type)
{ {
case EDJE_PART_TYPE_GROUP: case EDJE_PART_TYPE_GROUP:
source = rp->part->source; source = rp->part->source;
break; break;
case EDJE_PART_TYPE_BOX: case EDJE_PART_TYPE_BOX:
case EDJE_PART_TYPE_TABLE: case EDJE_PART_TYPE_TABLE:
if (rp->part->items) if (rp->part->items)
{ {
curr_item = rp->part->items; curr_item = rp->part->items;
item_count = rp->part->items_count; item_count = rp->part->items_count;
if (item_count > 0) if (item_count > 0)
{ {
pack_it = *curr_item; pack_it = *curr_item;
source = pack_it->source; source = pack_it->source;
item_count--; item_count--;
curr_item++; curr_item++;
} }
} }
break; break;
case EDJE_PART_TYPE_EXTERNAL:
{
Edje_Part_Description_External *external;
Evas_Object *child_obj;
external = (Edje_Part_Description_External *) r
p->part->default_desc;
child_obj = _edje_external_type_add(rp->part->s
ource,
evas_object
_evas_get(ed->obj), ed->obj,
external->e
xternal_params, rp->part->name);
if (child_obj)
{
_edje_real_part_swallow(rp, child_obj, EIN
A_TRUE);
rp->param1.external_params = _edje_externa
l_params_parse(child_obj,
external->external_params);
_edje_external_recalc_apply(ed, rp, NULL,
rp->chosen_description);
}
}
continue;
default: default:
/* This list should only be filled by group, box or
table, nothing else. */
abort();
continue; continue;
} }
while (source) while (source)
{ {
Eina_List *l; Eina_List *l;
Evas_Object *child_obj; Evas_Object *child_obj;
const char *group_path_entry = eina_stringshare_add(s ource); const char *group_path_entry = eina_stringshare_add(s ource);
const char *data; const char *data;
if (!group_path) if (!group_path)
{ {
group_path = eina_list_append(NULL, eina_strings hare_add(group)); group_path = eina_list_append(NULL, eina_strings hare_add(group));
group_path_started = 1; group_path_started = 1;
} }
/* make sure that this group isn't already in the tre e of parents */ /* make sure that this group isn't already in the tre e of parents */
EINA_LIST_FOREACH(group_path, l, data) EINA_LIST_FOREACH(group_path, l, data)
{ {
if (data == group_path_entry) if (data == group_path_entry)
{ {
ERR("recursive loop group '%s' already inc
luded inside part '%s' of group '%s' from file '%s'",
group_path_entry, rp->part->name, grou
p, file);
textblocks = eina_list_free(textblocks);
externals = eina_list_free(externals);
sources = eina_list_free(sources);
_edje_thaw(ed); _edje_thaw(ed);
_edje_unblock(ed); _edje_unblock(ed);
_edje_unref(ed); _edje_unref(ed);
_edje_file_del(ed); _edje_file_del(ed);
eina_stringshare_del(group_path_entry); eina_stringshare_del(group_path_entry);
if (group_path_started) if (group_path_started)
{ {
eina_stringshare_del(eina_list_data_ge t(group_path)); eina_stringshare_del(eina_list_data_ge t(group_path));
eina_list_free(group_path); eina_list_free(group_path);
} }
skipping to change at line 717 skipping to change at line 733
child_obj = edje_object_add(ed->base.evas); child_obj = edje_object_add(ed->base.evas);
group_path = eina_list_append(group_path, group_path_ entry); group_path = eina_list_append(group_path, group_path_ entry);
if (rp->part->type == EDJE_PART_TYPE_GROUP) if (rp->part->type == EDJE_PART_TYPE_GROUP)
{ {
_edje_real_part_swallow(rp, child_obj, EINA_FAL SE); _edje_real_part_swallow(rp, child_obj, EINA_FAL SE);
} }
if (!_edje_object_file_set_internal(child_obj, file, source, rp->part->name, group_path)) if (!_edje_object_file_set_internal(child_obj, file, source, rp->part->name, group_path))
{ {
ERR("impossible to set part '%s' of group '%s'
from file '%s' to '%s'",
rp->part->name, group_path_entry, file, sou
rce);
textblocks = eina_list_free(textblocks);
externals = eina_list_free(externals);
sources = eina_list_free(sources);
_edje_thaw(ed); _edje_thaw(ed);
_edje_unblock(ed); _edje_unblock(ed);
_edje_unref(ed); _edje_unref(ed);
_edje_file_del(ed); _edje_file_del(ed);
if (group_path_started) if (group_path_started)
{ {
while (group_path) while (group_path)
{ {
eina_stringshare_del(eina_list_data_ge t(group_path)); eina_stringshare_del(eina_list_data_ge t(group_path));
skipping to change at line 821 skipping to change at line 842
eina_stringshare_del(name); eina_stringshare_del(name);
} }
} }
_edje_recalc(ed); _edje_recalc(ed);
_edje_thaw(ed); _edje_thaw(ed);
_edje_unblock(ed); _edje_unblock(ed);
_edje_unref(ed); _edje_unref(ed);
ed->load_error = EDJE_LOAD_ERROR_NONE; ed->load_error = EDJE_LOAD_ERROR_NONE;
_edje_emit(ed, "load", NULL); _edje_emit(ed, "load", NULL);
/* instantiate 'internal swallows' */
for (i = 0; i < ed->table_parts_size; i++)
{
Edje_Real_Part *rp;
rp = ed->table_parts[i]; /* instantiate 'internal textblock style' */
if ((rp->part->type == EDJE_PART_TYPE_TEXTBLOCK) && EINA_LIST_FREE(textblocks, rp)
(rp->part->default_desc)) if (rp->part->default_desc)
{ {
Edje_Part_Description_Text *text; Edje_Part_Description_Text *text;
Edje_Style *stl = NULL; Edje_Style *stl = NULL;
const char *style; const char *style;
text = (Edje_Part_Description_Text *) rp->part->defau text = (Edje_Part_Description_Text *) rp->part->default
lt_desc; _desc;
style = edje_string_get(&text->text.style); style = edje_string_get(&text->text.style);
if (style) if (style)
{ {
Eina_List *l; Eina_List *l;
EINA_LIST_FOREACH(ed->file->styles, l, stl) EINA_LIST_FOREACH(ed->file->styles, l, stl)
{ {
if ((stl->name) && (!strcmp(stl->name, sty if ((stl->name) && (!strcmp(stl->name, style)
le))) break; )) break;
stl = NULL; stl = NULL;
} }
} }
if (stl) if (stl)
{ {
if (evas_object_textblock_style_get(rp->object) if (evas_object_textblock_style_get(rp->object) !=
!= stl->style) stl->style)
evas_object_textblock_style_set(rp->object, s evas_object_textblock_style_set(rp->object, stl-
tl->style); >style);
} }
} }
}
} }
_edje_entry_init(ed); _edje_entry_init(ed);
evas_event_thaw(tev); evas_event_thaw(tev);
evas_event_thaw_eval(tev); evas_event_thaw_eval(tev);
return 1; return 1;
} }
else else
{ {
evas_event_thaw(tev); evas_event_thaw(tev);
evas_event_thaw_eval(tev); evas_event_thaw_eval(tev);
 End of changes. 28 change blocks. 
85 lines changed or deleted 105 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/