[Xfce4-commits] r26654 - in squeeze/trunk: data libsqueeze src
Peter de Ridder
peter at xfce.org
Sat Mar 1 15:41:50 CET 2008
Author: peter
Date: 2008-03-01 14:41:50 +0000 (Sat, 01 Mar 2008)
New Revision: 26654
Modified:
squeeze/trunk/data/gnu-tar.squeeze
squeeze/trunk/libsqueeze/archive-tempfs.h
squeeze/trunk/libsqueeze/command-queue.c
squeeze/trunk/libsqueeze/command-queue.h
squeeze/trunk/libsqueeze/support-reader.c
squeeze/trunk/libsqueeze/support-template.h
squeeze/trunk/src/application.c
squeeze/trunk/src/main_window.c
squeeze/trunk/src/notebook.c
Log:
command queue near finnished, but untested
Modified: squeeze/trunk/data/gnu-tar.squeeze
===================================================================
--- squeeze/trunk/data/gnu-tar.squeeze 2008-03-01 13:16:37 UTC (rev 26653)
+++ squeeze/trunk/data/gnu-tar.squeeze 2008-03-01 14:41:50 UTC (rev 26654)
@@ -16,32 +16,32 @@
[application/x-compressed-tar]
X-Squeeze-Requires=tar;gzip;gunzip
X-Squeeze-New=tar -zcf %a %F
-X-Squeeze-Add=gunzip -c %a >> %t;tar -rf %a %F;gzip -c %t >> %a
-X-Squeeze-Remove=gunzip -c %a >> %t;tar -f %t --delete %F; gzip -c %t >> %a
+X-Squeeze-Add=gunzip -c %a > %t;tar -rf %a %F;gzip -c %t > %a
+X-Squeeze-Remove=gunzip -c %a > %t;tar -f %t --delete %F; gzip -c %t > %a
X-Squeeze-Extract=tar -C %d -xf %a %F
X-Squeeze-Refresh=tar -tvvf %a
[application/x-bzip-compressed-tar]
X-Squeeze-Requires=tar;bzip2;bunzip2
X-Squeeze-New=tar -jcf %a %F
-X-Squeeze-Add=bunzip2 -c %a >> %t;tar -rf %t %F;bzip2 -c %t >> %a
-X-Squeeze-Remove=bunzip2 -c %a >> %t;tar -f %t --delete %F; bzip2 -c %t >> %a
+X-Squeeze-Add=bunzip2 -c %a > %t;tar -rf %t %F;bzip2 -c %t > %a
+X-Squeeze-Remove=bunzip2 -c %a > %t;tar -f %t --delete %F; bzip2 -c %t > %a
X-Squeeze-Extract=tar -C %d -xf %a %F
X-Squeeze-Refresh=tar -tvvf %a
[application/x-tarz]
X-Squeeze-Requires=tar;compress;uncompress
X-Squeeze-New=tar -Zcf %a %F
-X-Squeeze-Add=lzop -dc %a >> %t;tar -rf %t %F;lzop -c %t >> %a
-X-Squeeze-Remove=uncompress -c %a >> %t;tar -f %t --delete %F; compress -c %t >> %a
+X-Squeeze-Add=lzop -dc %a > %t;tar -rf %t %F;lzop -c %t > %a
+X-Squeeze-Remove=uncompress -c %a > %t;tar -f %t --delete %F; compress -c %t > %a
X-Squeeze-Extract=tar -C %d -xf %a %F
X-Squeeze-Refresh=tar -tvvf %a
[application/x-tzo]
X-Squeeze-Requires=tar;lzop
X-Squeeze-New=tar -cf --use-compress-program=lzop %a %F
-X-Squeeze-Add=uncompress -c %a >> %t;tar -rf %t %F;compress -c %t >> %a
-X-Squeeze-Remove=lzop -dc %a >> %t;tar -f %t --delete %F; lzop -c %t >> %a
+X-Squeeze-Add=uncompress -c %a > %t;tar -rf %t %F;compress -c %t > %a
+X-Squeeze-Remove=lzop -dc %a > %t;tar -f %t --delete %F; lzop -c %t > %a
X-Squeeze-Extract=tar -C %d -xf %a %F
X-Squeeze-Refresh=tar -tvvf %a
Modified: squeeze/trunk/libsqueeze/archive-tempfs.h
===================================================================
--- squeeze/trunk/libsqueeze/archive-tempfs.h 2008-03-01 13:16:37 UTC (rev 26653)
+++ squeeze/trunk/libsqueeze/archive-tempfs.h 2008-03-01 14:41:50 UTC (rev 26654)
@@ -38,3 +38,5 @@
gboolean
lsq_tempfs_changed_file(LSQArchive *archive, const gchar *path) G_GNUC_INTERNAL;
+gchar *lsq_archive_request_temp_file(LSQArchive *archive, const gchar *suffix);
+
Modified: squeeze/trunk/libsqueeze/command-queue.c
===================================================================
--- squeeze/trunk/libsqueeze/command-queue.c 2008-03-01 13:16:37 UTC (rev 26653)
+++ squeeze/trunk/libsqueeze/command-queue.c 2008-03-01 14:41:50 UTC (rev 26654)
@@ -21,6 +21,9 @@
#include <thunar-vfs/thunar-vfs.h>
#include "libsqueeze.h"
+#include "archive-tempfs.h"
+#include "parser-context.h"
+#include "parser.h"
#include "command-queue.h"
@@ -47,6 +50,20 @@
GObjectClass parent;
};
+struct _LSQExecuteContext
+{
+ LSQCommandEntry *queue;
+ LSQParser *parser;
+ LSQArchive *archive;
+ gchar **files;
+ gchar *tempfile;
+ LSQParserContext *ctx;
+ enum {
+ LSQ_EXEC_CTX_STATE_RUNNING = 1<<0,
+ LSQ_EXEC_CTX_STATE_PARSING = 1<<1
+ } state;
+};
+
static void build_queue(LSQCommandQueue *queue, const gchar *commant_string);
G_DEFINE_TYPE(LSQCommandQueue, lsq_command_queue, G_TYPE_OBJECT);
@@ -65,6 +82,8 @@
{
LSQCommandQueue *queue;
+ g_return_val_if_fail(command_string, NULL);
+
queue = g_object_new(LSQ_TYPE_COMMAND_QUEUE, NULL);
build_queue(queue, command_string);
@@ -72,6 +91,247 @@
return LSQ_COMMAND_QUEUE(queue);
}
+static const gchar *lsq_execute_context_get_temp_file(LSQExecuteContext *ctx)
+{
+ if(!ctx->tempfile)
+ {
+ ctx->tempfile = lsq_archive_request_temp_file(ctx->archive, NULL);
+ }
+
+ return ctx->tempfile;
+}
+
+static gchar *format_get_filename(const gchar *format, LSQExecuteContext *ctx)
+{
+ if((format[0] == '%') && (format[2] == '\0'))
+ {
+ switch(format[1])
+ {
+ case 'a':
+ return lsq_archive_get_path(ctx->archive);
+ case 't':
+ return g_strdup(lsq_execute_context_get_temp_file(ctx));
+ }
+ }
+ return NULL;
+}
+
+static gchar **lsq_command_entry_to_argv(LSQCommandEntry *entry, LSQExecuteContext *ctx)
+{
+ gchar **argv, **argi;
+ guint size;
+ GSList *iter;
+ gchar **filei;
+
+ size = 2;
+
+ for(iter = entry->args; iter; iter = iter->next)
+ {
+ if(0==strcmp((const gchar*)iter->data, "%F"))
+ {
+ size += g_strv_length(ctx->files);
+ }
+ else
+ size++;
+ }
+
+ argv = g_new(gchar *, size);
+
+ argi = argv;
+
+ *argi++ = g_strdup(entry->command);
+
+ for(iter = entry->args; iter; iter = iter->next)
+ {
+ const gchar *arg = (const gchar*)iter->data;
+ if((arg[0] == '%') && (arg[2] == '\0'))
+ {
+ switch(arg[1])
+ {
+ case 'F':
+ for(filei = ctx->files; *filei; filei++)
+ {
+ *argi++ = g_strdup(*filei);
+ }
+ break;
+ case 'a':
+ *argi++ = lsq_archive_get_path(ctx->archive);
+ break;
+ case 't':
+ *argi++ = g_strdup(lsq_execute_context_get_temp_file(ctx));
+ break;
+ default:
+ //...
+ break;
+ }
+ }
+ else
+ *argi++ = g_strdup(arg);
+ }
+
+ *argi = NULL;
+
+ return argv;
+}
+
+static void lsq_command_entry_start(LSQCommandEntry *entry, LSQExecuteContext *ctx);
+
+static void child_exit(GPid pid, gint status, LSQExecuteContext *ctx)
+{
+ g_spawn_close_pid(pid);
+ ctx->state &= ~LSQ_EXEC_CTX_STATE_RUNNING;
+ if(!ctx->state)
+ {
+ if((ctx->queue = ctx->queue->next))
+ lsq_command_entry_start(ctx->queue, ctx);
+ //else
+ //...//done
+ }
+}
+
+static void in_channel(GIOChannel *source, GIOCondition condition, GIOChannel *dest)
+{
+ GIOStatus stat = G_IO_STATUS_NORMAL;
+ static gchar buffer[1024];
+
+ if(condition & G_IO_IN)
+ {
+ gsize n;
+ stat = g_io_channel_read_chars(source, buffer, 1024, &n, NULL);
+ if(stat == G_IO_STATUS_NORMAL)
+ g_io_channel_write_chars(dest, buffer, n, NULL, NULL);
+ }
+
+ if(condition & G_IO_HUP || (stat != G_IO_STATUS_NORMAL && stat != G_IO_STATUS_AGAIN))
+ {
+ g_io_channel_unref(source);
+ g_io_channel_flush(dest, NULL);
+ g_io_channel_unref(dest);
+ }
+}
+
+static void out_channel(GIOChannel *source, GIOCondition condition, LSQExecuteContext *ctx)
+{
+ GIOStatus stat = G_IO_STATUS_NORMAL;
+ static gchar buffer[1024];
+
+ if(condition & G_IO_IN)
+ {
+ gsize n;
+ stat = g_io_channel_read_chars(source, buffer, 1024, &n, NULL);
+ //if(stat == G_IO_STATUS_NORMAL)
+ //g_io_channel_write_chars(dest, buffer, n, NULL, NULL);
+ }
+
+ if(condition & G_IO_HUP || (stat != G_IO_STATUS_NORMAL && stat != G_IO_STATUS_AGAIN))
+ {
+ g_io_channel_unref(source);
+ //g_io_channel_flush(dest);
+ //g_io_channel_unref(dest);
+ ctx->state &= ~LSQ_EXEC_CTX_STATE_PARSING;
+ if(!ctx->state)
+ {
+ if((ctx->queue = ctx->queue->next))
+ lsq_command_entry_start(ctx->queue, ctx);
+ //else
+ //...//done
+ }
+ }
+}
+
+static void parse_channel(GIOChannel *source, GIOCondition condition, LSQExecuteContext *ctx)
+{
+ if(condition & G_IO_IN)
+ lsq_parser_parse(ctx->parser, ctx->ctx);
+ if(condition & G_IO_HUP || !lsq_parser_context_is_good(ctx->ctx))
+ {
+ lsq_parser_context_set_channel(ctx->ctx, NULL);
+ g_io_channel_unref(source);
+ ctx->state &= ~LSQ_EXEC_CTX_STATE_PARSING;
+ if(!ctx->state)
+ {
+ if((ctx->queue = ctx->queue->next))
+ lsq_command_entry_start(ctx->queue, ctx);
+ //else
+ //...//done
+ }
+ }
+}
+
+static void lsq_command_entry_start(LSQCommandEntry *entry, LSQExecuteContext *ctx)
+{
+ gint fd_in = FALSE;
+ gint fd_out = TRUE;
+ GIOChannel *redir_in;
+ GIOChannel *chan_in;
+ GIOChannel *redir_out;
+ GIOChannel *chan_out;
+ gchar **argv;
+ GPid pid;
+ GSpawnFlags flags = G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH | G_SPAWN_STDERR_TO_DEV_NULL;
+ if(entry->redirect_out)
+ {
+ gchar *file = format_get_filename(entry->redirect_out, ctx);
+ redir_in = g_io_channel_new_file(file, "w", NULL);
+ g_free(file);
+ }
+ else if(!ctx->ctx)
+ {
+ flags |= G_SPAWN_STDOUT_TO_DEV_NULL;
+ fd_out = FALSE;
+ }
+ if(entry->redirect_in)
+ {
+ gchar *file = format_get_filename(entry->redirect_in, ctx);
+ redir_in = g_io_channel_new_file(file, "r", NULL);
+ g_free(file);
+ fd_in = TRUE;
+ }
+
+ argv = lsq_command_entry_to_argv(entry, ctx);
+
+ g_spawn_async_with_pipes(NULL, argv, NULL, flags, NULL, NULL, &pid, fd_in?&fd_in:NULL, fd_out?&fd_out:NULL, NULL, NULL);
+
+ g_child_watch_add(pid, (GChildWatchFunc)child_exit, ctx);
+ ctx->state |= LSQ_EXEC_CTX_STATE_RUNNING;
+
+ if(entry->redirect_in)
+ {
+ chan_in = g_io_channel_unix_new(fd_in);
+ g_io_add_watch(redir_in, G_IO_IN|G_IO_HUP, (GIOFunc)in_channel, chan_in);
+ }
+ if(entry->redirect_out)
+ {
+ chan_out = g_io_channel_unix_new(fd_out);
+ g_io_add_watch(chan_out, G_IO_IN|G_IO_HUP, (GIOFunc)out_channel, ctx);
+ ctx->state |= LSQ_EXEC_CTX_STATE_PARSING;
+ }
+ else if(ctx->ctx)
+ {
+ chan_out = g_io_channel_unix_new(fd_out);
+ lsq_parser_context_set_channel(ctx->ctx, chan_out);
+ g_io_add_watch(chan_out, G_IO_IN|G_IO_HUP, (GIOFunc)parse_channel, ctx);
+ ctx->state |= LSQ_EXEC_CTX_STATE_PARSING;
+ }
+}
+
+LSQExecuteContext *lsq_command_queue_execute(LSQCommandQueue *queue, LSQArchive *archive, const gchar **files, LSQParser *parser)
+{
+ LSQExecuteContext *ctx;
+
+ ctx = g_new(LSQExecuteContext, 1);
+
+ ctx->queue = queue->queue;
+ ctx->archive = archive;
+ ctx->files = g_strdupv((gchar**)files);
+ ctx->parser = parser;
+ ctx->ctx = parser?lsq_parser_get_context(parser, archive):NULL;
+
+ lsq_command_entry_start(ctx->queue, ctx);
+
+ return ctx;
+}
+
static gchar* strdup_escaped(const gchar *str, guint lng)/*{{{*/
{
guint i;
Modified: squeeze/trunk/libsqueeze/command-queue.h
===================================================================
--- squeeze/trunk/libsqueeze/command-queue.h 2008-03-01 13:16:37 UTC (rev 26653)
+++ squeeze/trunk/libsqueeze/command-queue.h 2008-03-01 14:41:50 UTC (rev 26654)
@@ -43,16 +43,22 @@
LSQ_TYPE_COMMAND_QUEUE, \
LSQCommandQueueClass))
-
+#if 0
typedef struct _LSQCommandQueue LSQCommandQueue;
+#endif
-
typedef struct _LSQCommandQueueClass LSQCommandQueueClass;
+typedef struct _LSQExecuteContext LSQExecuteContext;
+
GType lsq_command_queue_get_type(void);
+LSQCommandQueue *lsq_command_queue_new(const gchar *command_string);
+LSQExecuteContext *lsq_command_queue_execute(LSQCommandQueue *queue, LSQArchive *archive, const gchar **files, LSQParser *parser);
+
+
G_END_DECLS
#endif /* __LIBSQUEEZE_COMMAND_QUEUE_H__ */
Modified: squeeze/trunk/libsqueeze/support-reader.c
===================================================================
--- squeeze/trunk/libsqueeze/support-reader.c 2008-03-01 13:16:37 UTC (rev 26653)
+++ squeeze/trunk/libsqueeze/support-reader.c 2008-03-01 14:41:50 UTC (rev 26654)
@@ -32,6 +32,7 @@
#include "parser-context.h"
#include "parser.h"
#include "scanf-parser.h"
+#include "command-queue.h"
#include "support-reader.h"
#include "internals.h"
@@ -182,11 +183,11 @@
s_template->mime_info = thunar_vfs_mime_database_get_info(lsq_mime_database, _mime_types[i]);
s_template->id = (const gchar *)factory->id;
- s_template->new_cmd_queue = xfce_rc_read_list_entry(rc, "X-Squeeze-New", ";");
- s_template->add_cmd_queue = xfce_rc_read_list_entry(rc, "X-Squeeze-Add", ";");
- s_template->remove_cmd_queue = xfce_rc_read_list_entry(rc, "X-Squeeze-Remove", ";");
- s_template->extract_cmd_queue = xfce_rc_read_list_entry(rc, "X-Squeeze-Extract", ";");
- s_template->refresh_cmd_queue = xfce_rc_read_list_entry(rc, "X-Squeeze-Refresh", ";");
+ s_template->new_cmd_queue = lsq_command_queue_new(xfce_rc_read_entry(rc, "X-Squeeze-New", NULL));
+ s_template->add_cmd_queue = lsq_command_queue_new(xfce_rc_read_entry(rc, "X-Squeeze-Add", NULL));
+ s_template->remove_cmd_queue = lsq_command_queue_new(xfce_rc_read_entry(rc, "X-Squeeze-Remove", NULL));
+ s_template->extract_cmd_queue = lsq_command_queue_new(xfce_rc_read_entry(rc, "X-Squeeze-Extract", NULL));
+ s_template->refresh_cmd_queue = lsq_command_queue_new(xfce_rc_read_entry(rc, "X-Squeeze-Refresh", NULL));
s_template->n_properties = g_strv_length(column_names);
s_template->property_names = column_names;
Modified: squeeze/trunk/libsqueeze/support-template.h
===================================================================
--- squeeze/trunk/libsqueeze/support-template.h 2008-03-01 13:16:37 UTC (rev 26653)
+++ squeeze/trunk/libsqueeze/support-template.h 2008-03-01 14:41:50 UTC (rev 26654)
@@ -37,6 +37,9 @@
#ifndef LSQParser
typedef struct _LSQParser LSQParser;
#endif
+#ifndef LSQCommandQueue
+typedef struct _LSQCommandQueue LSQCommandQueue;
+#endif
typedef struct _LSQSupportTemplate LSQSupportTemplate;
@@ -51,11 +54,11 @@
gchar **property_names;
LSQParser *parser;
- gchar **new_cmd_queue;
- gchar **add_cmd_queue;
- gchar **remove_cmd_queue;
- gchar **extract_cmd_queue;
- gchar **refresh_cmd_queue;
+ LSQCommandQueue *new_cmd_queue;
+ LSQCommandQueue *add_cmd_queue;
+ LSQCommandQueue *remove_cmd_queue;
+ LSQCommandQueue *extract_cmd_queue;
+ LSQCommandQueue *refresh_cmd_queue;
LSQSupportType support_mask;
};
Modified: squeeze/trunk/src/application.c
===================================================================
--- squeeze/trunk/src/application.c 2008-03-01 13:16:37 UTC (rev 26653)
+++ squeeze/trunk/src/application.c 2008-03-01 14:41:50 UTC (rev 26654)
@@ -178,7 +178,7 @@
}
GtkWidget *message_dialog = sq_message_dialog_new(GTK_WINDOW_TOPLEVEL, lp_archive);
gtk_widget_show(message_dialog);
- if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_EXTRACT))
+ if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_EXTRACT, NULL))
{
GtkWidget *warning_dialog = gtk_message_dialog_new(NULL,
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -253,7 +253,7 @@
GtkWidget *message_dialog = sq_message_dialog_new(GTK_WINDOW_TOPLEVEL, lp_archive);
gtk_widget_show(message_dialog);
- if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_ADD))
+ if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_ADD, NULL))
{
/* FIXME: show warning dialog */
GtkWidget *warning_dialog = gtk_message_dialog_new(NULL,
Modified: squeeze/trunk/src/main_window.c
===================================================================
--- squeeze/trunk/src/main_window.c 2008-03-01 13:16:37 UTC (rev 26653)
+++ squeeze/trunk/src/main_window.c 2008-03-01 14:41:50 UTC (rev 26654)
@@ -821,7 +821,7 @@
lsq_iter_slist_free(filenames);
filenames = NULL;
}
- if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_EXTRACT))
+ if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_EXTRACT, NULL))
{
GtkWidget *warning_dialog = gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -869,7 +869,7 @@
filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog));
if(filenames)
{
- if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_ADD))
+ if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_ADD, NULL))
{
GtkWidget *warning_dialog = gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -911,7 +911,7 @@
filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog));
if(filenames)
{
- if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_ADD))
+ if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_ADD, NULL))
{
GtkWidget *warning_dialog = gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -945,7 +945,7 @@
gtk_widget_hide(dialog);
sq_notebook_get_active_archive(SQ_NOTEBOOK(window->notebook), &lp_archive);
/* gtk_tree_view_set_model(sq_notebook_get_active_tree_view(SQ_NOTEBOOK(window->notebook)), NULL); */
- if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_REMOVE))
+ if(!lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_REMOVE, NULL))
{
GtkWidget *warning_dialog = gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -982,7 +982,7 @@
SQMainWindow *window = SQ_MAIN_WINDOW(userdata);
SQArchiveStore *store = sq_notebook_get_active_store(SQ_NOTEBOOK(window->notebook));
LSQArchive *archive = sq_archive_store_get_archive(store);
- lsq_archive_operate(archive, LSQ_COMMAND_TYPE_REFRESH);
+ lsq_archive_operate(archive, LSQ_COMMAND_TYPE_REFRESH, NULL);
}
static void
@@ -1232,7 +1232,7 @@
{
case GTK_RESPONSE_OK: /* VIEW */
sq_notebook_get_active_archive(SQ_NOTEBOOK(notebook), &lp_archive);
- if(lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_OPEN))
+ if(lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_OPEN, NULL))
{
GtkWidget *warning_dialog = gtk_message_dialog_new(window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE, _("Squeeze cannot view this file.\nthe application to support this is missing."));
if(warning_dialog)
@@ -1255,7 +1255,7 @@
g_slist_free(files);
files = NULL;
}
- if(lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_EXTRACT))
+ if(lsq_archive_operate(lp_archive, LSQ_COMMAND_TYPE_EXTRACT, NULL))
{
GtkWidget *warning_dialog = gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
Modified: squeeze/trunk/src/notebook.c
===================================================================
--- squeeze/trunk/src/notebook.c 2008-03-01 13:16:37 UTC (rev 26653)
+++ squeeze/trunk/src/notebook.c 2008-03-01 14:41:50 UTC (rev 26654)
@@ -574,7 +574,7 @@
if(new_archive == FALSE)
{
- lsq_archive_operate(archive, LSQ_COMMAND_TYPE_REFRESH);
+ lsq_archive_operate(archive, LSQ_COMMAND_TYPE_REFRESH, NULL);
}
}
More information about the Xfce4-commits
mailing list