summaryrefslogtreecommitdiff
path: root/legacy/edje
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2008-10-28 04:58:39 +0000
committerCarsten Haitzler <raster@rasterman.com>2008-10-28 04:58:39 +0000
commit5813cfd6304f7b7c8d24a217f7806031986f488a (patch)
treef2f6868a5d2fdaef03a6b16d3e63d6be705c502e /legacy/edje
parente7b5030226fccc707e7721fc95b021eccb4b6c11 (diff)
leak--
SVN revision: 37262
Diffstat (limited to 'legacy/edje')
-rw-r--r--legacy/edje/src/lib/edje_entry.c35
-rw-r--r--legacy/edje/src/lib/edje_var.c3
2 files changed, 25 insertions, 13 deletions
diff --git a/legacy/edje/src/lib/edje_entry.c b/legacy/edje/src/lib/edje_entry.c
index d44c4ccf45..4c5add9c3b 100644
--- a/legacy/edje/src/lib/edje_entry.c
+++ b/legacy/edje/src/lib/edje_entry.c
@@ -336,23 +336,34 @@ _sel_update(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
336 } 336 }
337 x = y = w = h = -1; 337 x = y = w = h = -1;
338 evas_object_geometry_get(o, &x, &y, &w, &h); 338 evas_object_geometry_get(o, &x, &y, &w, &h);
339 EINA_LIST_FOREACH(en->sel, l, sel) 339 if (en->have_selection)
340 { 340 {
341 Evas_Textblock_Rectangle *r; 341 EINA_LIST_FOREACH(en->sel, l, sel)
342
343 r = range->data;
344 if (sel->obj_bg)
345 { 342 {
346 evas_object_move(sel->obj_bg, x + r->x, y + r->y); 343 Evas_Textblock_Rectangle *r;
347 evas_object_resize(sel->obj_bg, r->w, r->h); 344
345 r = range->data;
346 if (sel->obj_bg)
347 {
348 evas_object_move(sel->obj_bg, x + r->x, y + r->y);
349 evas_object_resize(sel->obj_bg, r->w, r->h);
350 }
351 if (sel->obj_fg)
352 {
353 evas_object_move(sel->obj_fg, x + r->x, y + r->y);
354 evas_object_resize(sel->obj_fg, r->w, r->h);
355 }
356 range = eina_list_remove_list(range, range);
357 free(r);
348 } 358 }
349 if (sel->obj_fg) 359 }
360 else
361 {
362 while (range)
350 { 363 {
351 evas_object_move(sel->obj_fg, x + r->x, y + r->y); 364 free(range->data);
352 evas_object_resize(sel->obj_fg, r->w, r->h); 365 range = eina_list_remove_list(range, range);
353 } 366 }
354 range = eina_list_remove_list(range, range);
355 free(r);
356 } 367 }
357} 368}
358 369
diff --git a/legacy/edje/src/lib/edje_var.c b/legacy/edje/src/lib/edje_var.c
index 8aaf8190d0..c42db04495 100644
--- a/legacy/edje/src/lib/edje_var.c
+++ b/legacy/edje/src/lib/edje_var.c
@@ -1006,7 +1006,8 @@ _edje_var_anim_add(Edje *ed, double len, const char *fname, int val)
1006 ea->edje = ed; 1006 ea->edje = ed;
1007 ea->func = fn; 1007 ea->func = fn;
1008 ea->val = val; 1008 ea->val = val;
1009 _edje_anim_list = eina_list_append(_edje_anim_list, ed); 1009 if (!ed->var_pool->animators)
1010 _edje_anim_list = eina_list_append(_edje_anim_list, ed);
1010 ed->var_pool->animators = eina_list_prepend(ed->var_pool->animators, ea); 1011 ed->var_pool->animators = eina_list_prepend(ed->var_pool->animators, ea);
1011 if (!_edje_animator) 1012 if (!_edje_animator)
1012 _edje_animator = ecore_animator_add(_edje_var_anim_cb, NULL); 1013 _edje_animator = ecore_animator_add(_edje_var_anim_cb, NULL);