Author: stephan Date: 2006-09-14 12:25:32 +0000 (Thu, 14 Sep 2006) New Revision: 23155
Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.c xarchiver/branches/xarchiver-psybsd/src/main.c xarchiver/branches/xarchiver-psybsd/src/main_window.c Log: fixed mem-leak and timing issue Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c =================================================================== --- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c 2006-09-14 11:28:44 UTC (rev 23154) +++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c 2006-09-14 12:25:32 UTC (rev 23155) @@ -388,6 +388,7 @@ if (line == NULL) break; entry = lxa_archive_add_file(archive, line); + g_free(line); /* TODO: Add data */ } } @@ -398,6 +399,7 @@ #endif g_io_channel_shutdown ( ioc,TRUE,NULL ); g_io_channel_unref (ioc); + lxa_archive_set_status(archive, LXA_ARCHIVESTATUS_IDLE); return FALSE; } return TRUE; Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.c =================================================================== --- xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.c 2006-09-14 11:28:44 UTC (rev 23154) +++ xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.c 2006-09-14 12:25:32 UTC (rev 23155) @@ -33,7 +33,8 @@ { LXAArchive *archive = data; archive->child_pid = 0; - lxa_archive_set_status(archive, LXA_ARCHIVESTATUS_IDLE); + if(archive->status != LXA_ARCHIVESTATUS_REFRESH) + lxa_archive_set_status(archive, LXA_ARCHIVESTATUS_IDLE); if(archive->files) { g_free(archive->files); Modified: xarchiver/branches/xarchiver-psybsd/src/main.c =================================================================== --- xarchiver/branches/xarchiver-psybsd/src/main.c 2006-09-14 11:28:44 UTC (rev 23154) +++ xarchiver/branches/xarchiver-psybsd/src/main.c 2006-09-14 12:25:32 UTC (rev 23155) @@ -102,9 +102,6 @@ textdomain (GETTEXT_PACKAGE); #endif - g_thread_init(NULL); - - if(!gtk_init_with_args(&argc, &argv, _("[archive name]"), entries, PACKAGE, &cli_error)) { if ( cli_error != NULL ) Modified: xarchiver/branches/xarchiver-psybsd/src/main_window.c =================================================================== --- xarchiver/branches/xarchiver-psybsd/src/main_window.c 2006-09-14 11:28:44 UTC (rev 23154) +++ xarchiver/branches/xarchiver-psybsd/src/main_window.c 2006-09-14 12:25:32 UTC (rev 23155) @@ -321,6 +321,8 @@ gtk_widget_set_sensitive(GTK_WIDGET(parent_window->toolbar.tool_item_remove), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(parent_window->toolbar.tool_item_extract), TRUE); g_signal_connect(G_OBJECT(lp_xa_archive), "lxa_status_changed", G_CALLBACK(xa_main_window_archive_status_changed), parent_window); + g_slist_free(parent_window->working_node); + parent_window->working_node = NULL; lpSupport = lxa_get_support_for_mime(lp_xa_archive->mime); lxa_archive_support_refresh(lpSupport, lp_xa_archive); } @@ -344,6 +346,13 @@ XAMainWindow *main_window = XA_MAIN_WINDOW(userdata); if(archive->old_status == LXA_ARCHIVESTATUS_REFRESH) { + GList *columns = gtk_tree_view_get_columns(GTK_TREE_VIEW(main_window->treeview)); + while(columns) + { + gtk_tree_view_remove_column(GTK_TREE_VIEW(main_window->treeview), columns->data); + columns = columns->next; + } + g_list_free(columns); liststore = gtk_list_store_newv(archive->column_number, archive->column_types); for(x = 0; x < archive->column_number; x++) { @@ -427,6 +436,6 @@ /* else*/ /* 'view' */ -g_free(value); - + g_value_reset(value); + g_free(value); } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits