( cvs diff -u -r 1.6.10.1 -r 1.6.10.2 src/addrharvest.c; ) > 0.9.12cvs177.2.patchset
( cvs diff -u -r 1.6.10.2 -r 1.6.10.3 src/addrharvest.c; ) > 0.9.12cvs177.3.patchset
( cvs diff -u -r 1.382.2.75 -r 1.382.2.76 src/compose.c; ) > 0.9.12cvs178.1.patchset
+( cvs diff -u -r 1.382.2.76 -r 1.382.2.77 src/compose.c; ) > 0.9.12cvs179.1.patchset
{"text/uri-list", 0, 0}
};
+static gboolean compose_put_existing_to_front(MsgInfo *info)
+{
+ GList *compose_list = compose_get_compose_list();
+ GList *elem = NULL;
+
+ if (compose_list) {
+ for (elem = compose_list; elem != NULL && elem->data != NULL;
+ elem = elem->next) {
+ Compose *c = (Compose*)elem->data;
+
+ if (!c->targetinfo || !c->targetinfo->msgid ||
+ !info->msgid)
+ continue;
+
+ if (!strcmp(c->targetinfo->msgid, info->msgid)) {
+ gtkut_window_popup(c->window);
+ return TRUE;
+ }
+ }
+ }
+ return FALSE;
+}
+
Compose *compose_new(PrefsAccount *account, const gchar *mailto,
GPtrArray *attach_files)
{
g_return_if_fail(msginfo != NULL);
g_return_if_fail(msginfo->folder != NULL);
+ if (compose_put_existing_to_front(msginfo))
+ return;
+
if (msginfo->folder->stype == F_QUEUE || msginfo->folder->stype == F_DRAFT) {
gchar queueheader_buf[BUFFSIZE];
gint id, param;