evas: reorder accessing Evas_Object to prevent accessing them after their death.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 13 Jun 2011 07:34:44 +0000 (07:34 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 13 Jun 2011 07:34:44 +0000 (07:34 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@60260 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/canvas/evas_render.c

index 609d99f..874dd4b 100644 (file)
@@ -1450,6 +1450,14 @@ evas_render_updates_internal(Evas *e,
       them from the pending list. */
    eina_array_remove(&e->pending_objects, pending_change, NULL);
 
+   for (i = 0; i < e->render_objects.count; ++i)
+     {
+        Evas_Object *obj;
+
+        obj = eina_array_data_get(&e->render_objects, i);
+        obj->pre_render_done = 0;
+     }
+
    /* delete all objects flagged for deletion now */
    for (i = 0; i < e->delete_objects.count; ++i)
      {
@@ -1465,14 +1473,6 @@ evas_render_updates_internal(Evas *e,
    e->output.changed = 0;
    e->invalidate = 0;
 
-   for (i = 0; i < e->render_objects.count; ++i)
-     {
-        Evas_Object *obj;
-
-        obj = eina_array_data_get(&e->render_objects, i);
-        obj->pre_render_done = 0;
-     }
-
    /* If their are some object to restack or some object to delete,
     * it's useless to keep the render object list around. */
    if (clean_them)