Changeset 3565

Show
Ignore:
Timestamp:
04/11/08 12:46:36
Author:
pvanhoof
Message:

2008-04-11 Philip Van Hoof <pvanhoof@gnome.org>

        • Fixed a bug in case LIST and LSUB are not in agreement
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r3562 r3565  
     12008-04-11  Philip Van Hoof <pvanhoof@gnome.org> 
     2 
     3        * Fixed a bug in case LIST and LSUB are not in agreement 
     4        ` 
    152008-04-10  Philip Van Hoof <pvanhoof@gnome.org> 
    26 
  • trunk/libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-store.c

    r3564 r3565  
    448448        CamelImapStore *imap_store = CAMEL_IMAP_STORE (object); 
    449449 
     450        imap_store->needs_lsub = TRUE; 
    450451        imap_store->authtypes = NULL; 
    451452        imap_store->got_online = FALSE; 
     
    31293130                        manage_subscriptions(store, old_name, TRUE); 
    31303131                goto fail; 
    3131         } else
     3132        } else if (imap_store->needs_lsub)
    31323133                CamelImapResponse *response3 = camel_imap_command (imap_store, NULL, ex, "SUBSCRIBE %F", new_name_in); 
    31333134                camel_imap_response_free (imap_store, response3); 
     
    36033604                        bah = TRUE; 
    36043605                        lst = "%"; 
     3606                        imap_store->needs_lsub = TRUE; 
    36053607                } 
    36063608 
     
    37123714 
    37133715                        response = camel_imap_command (imap_store, NULL, ex, 
    3714                                 "%s \"%s\" %s", j==1 ? "LSUB" : "LIST",  
    3715                                 prefix, (j!=1)?lst:"*"); 
     3716                                "%s \"%s\" %s", (j==1 || j==3) ? "LSUB" : "LIST",  
     3717                                prefix, (j!=1 && j!=3) ? lst : "*"); 
    37163718 
    37173719                        if (!response) 
     
    37273729                                        hfi = g_hash_table_lookup(present, fi->full_name); 
    37283730                                        if (hfi == NULL) { 
     3731                                                if (j == 1 || j == 3) { 
     3732                                                        fi->flags |= CAMEL_FOLDER_SUBSCRIBED | CAMEL_FOLDER_NONEXISTENT | CAMEL_FOLDER_NOSELECT;  
     3733                                                        imap_store->needs_lsub = TRUE; 
     3734                                                } 
    37293735                                                g_hash_table_insert(present, fi->full_name, fi); 
    37303736                                                if (!first) 
  • trunk/libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-store.h

    r3445 r3565  
    174174        gboolean courier_crap, idle_sleep_set; 
    175175        gboolean going_online, got_online, clean_exit; 
    176         gboolean not_recon
     176        gboolean not_recon, needs_lsub
    177177 
    178178        struct addrinfo *addrinfo;