Author: peter Date: 2007-04-08 12:54:57 +0000 (Sun, 08 Apr 2007) New Revision: 25442
Modified: squeeze/trunk/TODO squeeze/trunk/libsqueeze/archive-iter.c Log: roadmap updated invalid read in archive free fixed Modified: squeeze/trunk/TODO =================================================================== --- squeeze/trunk/TODO 2007-04-08 12:49:41 UTC (rev 25441) +++ squeeze/trunk/TODO 2007-04-08 12:54:57 UTC (rev 25442) @@ -13,10 +13,12 @@ Settings dialog Bug fixes More support objects - Improve custom action system + Review libsqueeze 0.3: - Review libsqueeze Make support objects plugins + Custom archive action + Password support + Improve the user interface --------------------------------------------------------------- Modified: squeeze/trunk/libsqueeze/archive-iter.c =================================================================== --- squeeze/trunk/libsqueeze/archive-iter.c 2007-04-08 12:49:41 UTC (rev 25441) +++ squeeze/trunk/libsqueeze/archive-iter.c 2007-04-08 12:54:57 UTC (rev 25442) @@ -135,7 +135,6 @@ * LSQArchiveIterPool stuff * ****************************/ -#ifdef DEBUG void lsq_archive_iter_pool_print() { guint i; @@ -146,8 +145,13 @@ else printf("%d %d %p %s\t(no parent)\n", i, pool->pool[i]->ref_count, pool->pool[i]->entry, pool->pool[i]->entry?pool->pool[i]->entry->filename:"(no entry)"); } +#ifdef USE_LSQITER_SLICES + for(; i < pool->reserved; ++i) + { + printf("%d %p\n", i, pool->pool[i]); + } +#endif } -#endif inline static void lsq_archive_iter_pool_free(LSQArchiveIterPool *pool) @@ -172,6 +176,20 @@ g_free(pool->pool[i]); #endif } +#ifdef USE_LSQITER_SLICES + for(; i < pool->reserved; ++i) + { + /* Cleaning up the whole pool */ + /* Now we can free the iters */ + if(!pool->pool[i]) + break; +#ifdef USE_GSLICES + g_slice_free(LSQArchiveIter, pool->pool[i]); +#else + g_free(pool->pool[i]); +#endif + } +#endif g_free(pool->pool); g_free(pool); } @@ -514,8 +532,7 @@ back_iter = g_slist_next(back_iter); if(!back_iter) break; - if(!lsq_archive_entry_get_child(parent->entry, - lsq_archive_entry_get_filename(((LSQArchiveIter*)back_iter->data)->entry))) + if(!lsq_archive_entry_get_filename(((LSQArchiveIter*)back_iter->data)->entry) || !lsq_archive_entry_get_child(parent->entry, lsq_archive_entry_get_filename(((LSQArchiveIter*)back_iter->data)->entry))) { g_slist_free(back_stack); return FALSE; _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits