|
From: <cap...@us...> - 2009-01-31 10:11:51
|
Revision: 547
http://enna.svn.sourceforge.net/enna/?rev=547&view=rev
Author: captainigloo
Date: 2009-01-31 10:11:41 +0000 (Sat, 31 Jan 2009)
Log Message:
-----------
* Fix segv on exit
* Fix a (big) bug in wall items creation
* printf--
Modified Paths:
--------------
trunk/wall-e/src/bin/wall.c
Modified: trunk/wall-e/src/bin/wall.c
===================================================================
--- trunk/wall-e/src/bin/wall.c 2009-01-28 22:39:41 UTC (rev 546)
+++ trunk/wall-e/src/bin/wall.c 2009-01-31 10:11:41 UTC (rev 547)
@@ -300,7 +300,6 @@
if (!pi) return;
- printf("Preload Cb\n");
edje_object_part_swallow(pi->o_edje, "walle.swallow.content", pi->o_pict);
evas_object_show(pi->o_pict);
edje_object_signal_emit(pi->o_edje, "walle,loading,stop", "walle");
@@ -340,18 +339,26 @@
evas_object_del(priv->o_box);
EINA_LIST_FOREACH(priv->o_boxes, l, box)
+ {
evas_object_del(box);
+ }
while(priv->items)
{
Walle_Picture_Item *pi;
-
- pi = (Walle_Picture_Item *)eina_list_data_get(priv->items);
- evas_object_del(pi->o_edje);
- evas_object_image_preload(pi->o_pict, 1);
- evas_object_del(pi->o_pict);
- free(pi);
+ Evas_List *items;
+ items = priv->items->data;
priv->items = eina_list_remove_list(priv->items, priv->items);
+ while(items)
+ {
+ pi = items->data;
+ items = eina_list_remove_list(items, items);
+ evas_object_del(pi->o_edje);
+ evas_object_image_preload(pi->o_pict, 1);
+ evas_object_del(pi->o_pict);
+ free(pi);
+ }
+ eina_list_free(items);
}
eina_list_free(priv->items);
free(priv);
@@ -432,7 +439,6 @@
items = eina_list_append(items, pi);
}
- priv->items = eina_list_append(priv->items, items);
priv->nb_items ++;
evas_object_event_callback_add(pi->o_edje, EVAS_CALLBACK_MOUSE_DOWN,
_wall_event_mouse_down_cb, pi);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|