[evolution-data-server/gnome-42] I#407 - IMAPx: Unsubscribed folder always removed from the UI



commit 60cf5e3227c97571b7ab772eba9e2ae1d4db4f8e
Author: Milan Crha <mcrha redhat com>
Date:   Tue Jul 12 17:18:42 2022 +0200

    I#407 - IMAPx: Unsubscribed folder always removed from the UI
    
    Closes https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/407

 src/camel/providers/imapx/camel-imapx-store.c | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)
---
diff --git a/src/camel/providers/imapx/camel-imapx-store.c b/src/camel/providers/imapx/camel-imapx-store.c
index c5d1f819f..073310f45 100644
--- a/src/camel/providers/imapx/camel-imapx-store.c
+++ b/src/camel/providers/imapx/camel-imapx-store.c
@@ -3177,12 +3177,20 @@ imapx_store_unsubscribe_folder_sync (CamelSubscribable *subscribable,
        success = camel_imapx_conn_manager_unsubscribe_mailbox_sync (conn_man, mailbox, cancellable, error);
 
        if (success) {
-               CamelFolderInfo *fi;
+               CamelSettings *settings;
 
-               fi = imapx_store_build_folder_info (
-                       CAMEL_IMAPX_STORE (subscribable), folder_name, 0);
-               camel_subscribable_folder_unsubscribed (subscribable, fi);
-               camel_folder_info_free (fi);
+               settings = camel_service_ref_settings (CAMEL_SERVICE (imapx_store));
+
+               /* Notify about unsubscribed folder only if showing subscribed folders only */
+               if (camel_imapx_settings_get_use_subscriptions (CAMEL_IMAPX_SETTINGS (settings))) {
+                       CamelFolderInfo *fi;
+
+                       fi = imapx_store_build_folder_info (imapx_store, folder_name, 0);
+                       camel_subscribable_folder_unsubscribed (subscribable, fi);
+                       camel_folder_info_free (fi);
+               }
+
+               g_clear_object (&settings);
        }
 
 exit:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]