[Xfce4-commits] r23155 - in xarchiver/branches/xarchiver-psybsd: libxarchiver src
Stephan Arts
stephan at xfce.org
Thu Sep 14 12:25:32 UTC 2006
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);
}
More information about the Xfce4-commits
mailing list