From: Paweł Pękala Date: Thu, 15 Apr 2010 17:33:26 +0000 (+0000) Subject: 2010-04-15 [pawel] 3.7.5cvs47 X-Git-Tag: rel_3_7_6~9 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=e029ca465404cb089fe62b4d777d6768580f0da8 2010-04-15 [pawel] 3.7.5cvs47 * src/action.c Fix crasher in actions using '%f' argument on multiple files with external scripts which don't return any output. --- diff --git a/ChangeLog b/ChangeLog index 6610a6caa..4107c621c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-04-15 [pawel] 3.7.5cvs47 + + * src/action.c + Fix crasher in actions using '%f' argument + on multiple files with external scripts which + don't return any output. + 2010-04-14 [colin] 3.7.5cvs46 * src/mainwindow.c diff --git a/PATCHSETS b/PATCHSETS index d7c669008..b336cf060 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -3987,3 +3987,4 @@ ( cvs diff -u -r 1.1.2.3 -r 1.1.2.4 manual/de/glossary.xml; ) > 3.7.5cvs44.patchset ( cvs diff -u -r 1.654.2.4057 -r 1.654.2.4058 configure.ac; ) > 3.7.5cvs45.patchset ( cvs diff -u -r 1.274.2.309 -r 1.274.2.310 src/mainwindow.c; ) > 3.7.5cvs46.patchset +( cvs diff -u -r 1.12.2.58 -r 1.12.2.59 src/action.c; ) > 3.7.5cvs47.patchset diff --git a/configure.ac b/configure.ac index 48df0fb01..709721b22 100644 --- a/configure.ac +++ b/configure.ac @@ -12,7 +12,7 @@ MINOR_VERSION=7 MICRO_VERSION=5 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=46 +EXTRA_VERSION=47 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/action.c b/src/action.c index 42b5c5da8..81e28fa06 100644 --- a/src/action.c +++ b/src/action.c @@ -1108,23 +1108,18 @@ static gint wait_for_children(Children *children) gboolean new_output; ChildInfo *child_info; GSList *cur; - gint nb = children->nb; - - children->nb = 0; cur = children->list; new_output = FALSE; while (cur) { child_info = (ChildInfo *)cur->data; - if (child_info->pid) - children->nb++; new_output |= child_info->new_out; cur = cur->next; } children->output |= new_output; - if (new_output || (children->dialog && (nb != children->nb))) + if (new_output || (children->dialog && (children->initial_nb != children->nb))) update_io_dialog(children); if (children->nb) @@ -1493,6 +1488,9 @@ static void catch_status(gpointer data, gint source, GdkInputCondition cond) child_info->msginfo_list = NULL; } + if (!child_info->pid) + child_info->children->nb--; + wait_for_children(child_info->children); }