2005-06-09 [colin] 1.9.11cvs55
authorColin Leroy <colin@colino.net>
Thu, 9 Jun 2005 18:15:31 +0000 (18:15 +0000)
committerColin Leroy <colin@colino.net>
Thu, 9 Jun 2005 18:15:31 +0000 (18:15 +0000)
* src/imap.c
Make sure we check imap_gtk_should_override(), which
potentially calls gtk stuff, before creating thread.
That way it should't be called via imap_get_session()
inside a thread.

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/imap.c

index fcc2b29374166fe7170172277b88be57de34b738..029b2c76c2274b345cced7f51d9120ff16321a38 100644 (file)
@@ -1,3 +1,11 @@
+2005-06-09 [colin]     1.9.11cvs55
+
+       * src/imap.c
+               Make sure we check imap_gtk_should_override(), which
+               potentially calls gtk stuff, before creating thread.
+               That way it should't be called via imap_get_session()
+               inside a thread.
+
 2005-06-09 [colin]     1.9.11cvs54
 
        * src/imap.c
index 8efb092615d6713bdb5eee30d69801361c79568a..5f9268ffb8c998a4b84256ab3fdbe919ec9db436 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.115.2.39 -r 1.115.2.40 src/main.c;  ) > 1.9.11cvs52.patchset
 ( cvs diff -u -r 1.179.2.20 -r 1.179.2.21 src/imap.c;  ) > 1.9.11cvs53.patchset
 ( cvs diff -u -r 1.179.2.21 -r 1.179.2.22 src/imap.c;  ) > 1.9.11cvs54.patchset
+( cvs diff -u -r 1.179.2.22 -r 1.179.2.23 src/imap.c;  ) > 1.9.11cvs55.patchset
index ee7548494e499be6cbdd032765fd9e17ac926134..85da9c9fd96d50206010270361830ce7ef624afb 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=11
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=54
+EXTRA_VERSION=55
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 3131630e0608f19bac66b558964a0264f6fac8bd..1e9d699b821f042e18e70ff9e83de015cfca63e6 100644 (file)
@@ -722,8 +722,9 @@ static IMAPSession *imap_session_get(Folder *folder)
        g_return_val_if_fail(FOLDER_CLASS(folder) == &imap_class, NULL);
        g_return_val_if_fail(folder->account != NULL, NULL);
        
-       if (prefs_common.work_offline && !imap_gtk_should_override())
-                       return NULL;
+       if (prefs_common.work_offline && !imap_gtk_should_override()) {
+               return NULL;
+       }
 
        /* Make sure we have a session */
        if (rfolder->session != NULL) {
@@ -2044,6 +2045,12 @@ static GSList *imap_get_uncached_messages(IMAPSession *session,
        data->session = session;
        data->item = item;
        data->numlist = numlist;
+
+       if (prefs_common.work_offline && !imap_gtk_should_override()) {
+               g_free(data);
+               return NULL;
+       }
+
 #if (defined USE_PTHREAD && defined __GLIBC__ && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)))
        if (pthread_create(&pt, PTHREAD_CREATE_JOINABLE,
                        imap_get_uncached_messages_thread, data) != 0) {
@@ -3203,6 +3210,12 @@ static gint imap_cmd_fetch(IMAPSession *session, guint32 uid,
        data->session = session;
        data->uid = uid;
        data->filename = filename;
+
+       if (prefs_common.work_offline && !imap_gtk_should_override()) {
+               g_free(data);
+               return -1;
+       }
+
 #if (defined USE_PTHREAD && defined __GLIBC__ && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)))
        if (pthread_create(&pt, PTHREAD_CREATE_JOINABLE,
                        imap_cmd_fetch_thread, data) != 0) {
@@ -4034,6 +4047,12 @@ static gint get_list_of_uids(Folder *folder, IMAPFolderItem *item, GSList **msgn
        data->folder = folder;
        data->item = item;
        data->msgnum_list = msgnum_list;
+
+       if (prefs_common.work_offline && !imap_gtk_should_override()) {
+               g_free(data);
+               return -1;
+       }
+
 #if (defined USE_PTHREAD && defined __GLIBC__ && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)))
        if (pthread_create(&pt, PTHREAD_CREATE_JOINABLE,
                        get_list_of_uids_thread, data) != 0) {
@@ -4600,6 +4619,12 @@ static gint imap_get_flags(Folder *folder, FolderItem *item,
        data->item = item;
        data->msginfo_list = msginfo_list;
        data->msgflags = msgflags;
+
+       if (prefs_common.work_offline && !imap_gtk_should_override()) {
+               g_free(data);
+               return -1;
+       }
+
 #if (defined USE_PTHREAD && defined __GLIBC__ && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)))
        if (pthread_create(&pt, PTHREAD_CREATE_JOINABLE,
                        imap_get_flags_thread, data) != 0) {