@@ -55,11 +55,11 @@ - (of_list_object_t*)append: (id)obj { of_list_object_t *o; o = [self allocMemoryWithSize: sizeof(of_list_object_t)]; - o->object = obj; + o->object = [obj retain]; o->next = NULL; o->prev = last; if (last != NULL) last->next = o; @@ -78,11 +78,11 @@ - (of_list_object_t*)prepend: (id)obj { of_list_object_t *o; o = [self allocMemoryWithSize: sizeof(of_list_object_t)]; - o->object = obj; + o->object = [obj retain]; o->next = first; o->prev = NULL; if (first != NULL) first->prev = o; @@ -102,11 +102,11 @@ before: (of_list_object_t*)listobj { of_list_object_t *o; o = [self allocMemoryWithSize: sizeof(of_list_object_t)]; - o->object = obj; + o->object = [obj retain]; o->next = listobj; o->prev = listobj->prev; if (listobj->prev != NULL) listobj->prev->next = o; @@ -127,11 +127,11 @@ after: (of_list_object_t*)listobj { of_list_object_t *o; o = [self allocMemoryWithSize: sizeof(of_list_object_t)]; - o->object = obj; + o->object = [obj retain]; o->next = listobj->next; o->prev = listobj; if (listobj->next != NULL) listobj->next->prev = o; @@ -204,11 +204,11 @@ prev = NULL; @try { for (iter = first; iter != NULL; iter = iter->next) { o = [new allocMemoryWithSize: sizeof(of_list_object_t)]; - o->object = iter->object; + o->object = [iter->object retain]; o->next = NULL; o->prev = prev; if (new->first == NULL) new->first = o;