val = compose_queue(compose, &msgnum, &folder);
if (val) {
- alertpanel_error(_("Could not queue message for sending."));
+ if (val == -2) {
+ alertpanel_error(_("Could not queue message for sending:\n\n%s."), strerror(errno));
+ } else {
+ alertpanel_error(_("Could not queue message for sending."));
+ }
goto bail;
}
if ((fp = fopen(tmp, "wb")) == NULL) {
FILE_OP_ERROR(tmp, "fopen");
g_free(tmp);
- return -1;
+ return -2;
}
if (change_file_mode_rw(fp, tmp) < 0) {
fclose(fp);
unlink(tmp);
g_free(tmp);
- return -1;
+ return -2;
}
} else {
if (compose_write_to_file(compose, fp, COMPOSE_WRITE_FOR_SEND) < 0) {
fclose(fp);
unlink(tmp);
g_free(tmp);
- return -1;
+ return -2;
}
}
FILE_OP_ERROR(tmp, "fclose");
unlink(tmp);
g_free(tmp);
- return -1;
+ return -2;
}
queue = account_get_special_folder(compose->account, F_QUEUE);
val = compose_queue_sub(compose, NULL, NULL, TRUE);
if (!val)
compose_close(compose);
+ else if (val == -2) {
+ alertpanel_error(_("Could not queue message:\n\n%s."), strerror(errno));
+ }
}
void compose_draft (gpointer data)