+2007-03-16 [wwp] 2.8.1cvs19
+
+ * src/action.c
+ Fix logics issues around the action IO dialog:
+ - disable entry widget and exec button when
+ the exec button is clicked (don't wait for any
+ output line) - fix possible disabling/re-enabling/
+ re-disabling of those widgets
+ - raise an error if executing a %as{} action either
+ empty or invalid, instead of failing silently
+ - don't close the dialog if the abort button has been
+ clicked and if there was no output yet
+ - set focus to the abort button when the exec button
+ is clicked
+ - fix capitalization of a warning message
+
2007-03-16 [wwp] 2.8.1cvs18
* tools/mairix.sh
action_string = g_strndup(sbegin, send - sbegin);
action_list = matcher_parser_get_action_list(action_string);
+ if (action_list == NULL) {
+ gchar *tmp = g_strdup(action_string);
+
+ g_strstrip(tmp);
+ if (*tmp == '\0')
+ alertpanel_error(_("There is no filtering action set"));
+ else
+ alertpanel_error(_("Invalid filtering action(s):\n%s"), tmp);
+ g_free(action_string);
+ g_free(tmp);
+ return FALSE;
+ }
g_free(action_string);
- if (action_list == NULL) return FALSE;
/* apply actions on each message info */
for (p = msglist; p && p->data; p = g_slist_next(p)) {
filteringaction_apply_action_list(action_list, (MsgInfo *) p->data);
-
}
if (summaryview) {
close(chld_err[1]);
close(chld_status[0]);
- debug_print("Child: Waiting for grandchild\n");
+ debug_print("Child: waiting for grandchild\n");
waitpid(gch_pid, NULL, 0);
debug_print("Child: grandchild ended\n");
write(chld_status[1], "0\n", 2);
if (children->nb)
return FALSE;
- if (!children->dialog) {
+ if (!children->dialog)
free_children(children);
- } else if (!children->output) {
- gtk_widget_destroy(children->dialog);
- }
return FALSE;
}
child_info->tag_in = gdk_input_add(child_info->chld_in,
GDK_INPUT_WRITE,
catch_input, children);
- gtk_widget_set_sensitive(children->input_hbox, FALSE);
}
static gint delete_io_dialog_cb(GtkWidget *w, GdkEvent *e, gpointer data)
if (!(cond && GDK_INPUT_WRITE))
return;
+ gtk_widget_set_sensitive(children->input_hbox, FALSE);
+ gtk_widget_grab_focus(children->abort_btn);
+
gdk_input_remove(child_info->tag_in);
child_info->tag_in = -1;
g_free(input);
- gtk_entry_set_text(GTK_ENTRY(children->input_entry), "");
- gtk_widget_set_sensitive(children->input_hbox, TRUE);
close(child_info->chld_in);
child_info->chld_in = -1;
debug_print("Input to grand child sent.\n");