2007-02-27 [colin] 2.8.0cvs2
authorColin Leroy <colin@colino.net>
Tue, 27 Feb 2007 07:27:36 +0000 (07:27 +0000)
committerColin Leroy <colin@colino.net>
Tue, 27 Feb 2007 07:27:36 +0000 (07:27 +0000)
* src/imap.c
* src/etpan/etpan-thread-manager-types.h
* src/etpan/etpan-thread-manager.c
* src/etpan/imap-thread.c
Log imap ALERTs as errors in the log.

ChangeLog
PATCHSETS
configure.ac
src/etpan/etpan-thread-manager-types.h
src/etpan/etpan-thread-manager.c
src/etpan/imap-thread.c
src/imap.c

index 5b19c2b..04eab20 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-02-27 [colin]     2.8.0cvs2
+
+       * src/imap.c
+       * src/etpan/etpan-thread-manager-types.h
+       * src/etpan/etpan-thread-manager.c
+       * src/etpan/imap-thread.c
+               Log imap ALERTs as errors in the log.
+
 2007-02-26 [paul]      2.8.0cvs1
 
        * tools/claws.i18n.status.pl
index b7aaa33..19fcde0 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.60.2.42 -r 1.60.2.43 po/es.po;  ) > 2.7.2cvs74.patchset
 ( cvs diff -u -r 1.1.2.11 -r 1.1.2.12 po/ca.po;  cvs diff -u -r 1.9.2.9 -r 1.9.2.10 po/cs.po;  cvs diff -u -r 1.58.2.29 -r 1.58.2.30 po/de.po;  cvs diff -u -r 1.12.2.13 -r 1.12.2.14 po/en_GB.po;  cvs diff -u -r 1.1.2.12 -r 1.1.2.13 po/fi.po;  cvs diff -u -r 1.42.2.29 -r 1.42.2.30 po/fr.po;  cvs diff -u -r 1.5.2.3 -r 1.5.2.4 po/hu.po;  cvs diff -u -r 1.10.2.11 -r 1.10.2.12 po/pl.po;  cvs diff -u -r 1.50.2.23 -r 1.50.2.24 po/pt_BR.po;  cvs diff -u -r 1.2.2.24 -r 1.2.2.25 po/sk.po;  cvs diff -u -r 1.17.2.25 -r 1.17.2.26 po/sr.po;  cvs diff -u -r 1.5.2.21 -r 1.5.2.22 po/zh_CN.po;  ) > 2.7.2cvs75.patchset
 ( cvs diff -u -r 1.1.2.13 -r 1.1.2.14 tools/claws.i18n.status.pl;  ) > 2.8.0cvs1.patchset
+( cvs diff -u -r 1.179.2.155 -r 1.179.2.156 src/imap.c;  cvs diff -u -r 1.1.4.4 -r 1.1.4.5 src/etpan/etpan-thread-manager-types.h;  cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/etpan/etpan-thread-manager.c;  cvs diff -u -r 1.1.4.73 -r 1.1.4.74 src/etpan/imap-thread.c;  ) > 2.8.0cvs2.patchset
index 09d22c4..81510fb 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=8
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=1
+EXTRA_VERSION=2
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 93f4713..222aa7d 100644 (file)
@@ -68,6 +68,8 @@ struct etpan_thread_op {
   int cancelled;
   void * param;
   void * result;
+  int finished;
+  mailimap *imap;
 };
 
 #endif
index b21a0a6..6cf03ec 100644 (file)
@@ -194,7 +194,9 @@ struct etpan_thread_op * etpan_thread_op_new(void)
   op->cancelled = 0;
   op->param = NULL;
   op->result = NULL;
-  
+  op->finished = 0;
+  op->imap = NULL;
+
   r = pthread_mutex_init(&op->lock, NULL);
   if (r != 0)
     goto free;
index f456bc0..86d2b2b 100644 (file)
@@ -368,13 +368,18 @@ static mailimap * get_imap(Folder * folder)
 
 static void generic_cb(int cancelled, void * result, void * callback_data)
 {
-       int * p_finished;
+       struct etpan_thread_op * op;
        
-       p_finished = callback_data;
+       op = (struct etpan_thread_op *) callback_data;
 
        debug_print("generic_cb\n");
-       
-       * p_finished = 1;
+       if (op->imap && op->imap->imap_response_info &&
+           op->imap->imap_response_info->rsp_alert) {
+               log_error("IMAP4< Alert: %s\n", 
+                       op->imap->imap_response_info->rsp_alert);
+               mainwindow_show_error();
+       } 
+       op->finished = 1;
 }
 
 static void threaded_run(Folder * folder, void * param, void * result,
@@ -382,26 +387,27 @@ static void threaded_run(Folder * folder, void * param, void * result,
 {
        struct etpan_thread_op * op;
        struct etpan_thread * thread;
-       int finished;
        
        imap_folder_ref(folder);
 
        op = etpan_thread_op_new();
+       
+       op->imap = get_imap(folder);
        op->param = param;
        op->result = result;
        
        op->cancellable = 0;
        op->run = func;
        op->callback = generic_cb;
-       op->callback_data = &finished;
+       op->callback_data = op;
        op->cleanup = NULL;
        
-       finished = 0;
+       op->finished = 0;
        
        thread = get_thread(folder);
        etpan_thread_op_schedule(thread, op);
        
-       while (!finished) {
+       while (!op->finished) {
                gtk_main_iteration();
        }
        
index 574605d..f341f3e 100644 (file)
@@ -1287,6 +1287,7 @@ static gint imap_do_copy_msgs(Folder *folder, FolderItem *dest,
                        g_relation_destroy(uid_mapping);
                        imap_lep_set_free(seq_list);
                        unlock_session();
+                       statusbar_pop_all();
                        return -1;
                }
        }