diff options
author | Not Zed <NotZed@Ximian.com> | 2004-12-01 11:24:52 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2004-12-01 11:24:52 +0800 |
commit | bba69b99980a3f3386c98ccc98b4136ca5860d92 (patch) | |
tree | e45104b00b9de810db45fe9271a697dfc2f6abfe /mail/em-folder-properties.c | |
parent | ac0a49bc0bbddad44c9e9661229b135b7760d03a (diff) | |
download | gsoc2013-evolution-bba69b99980a3f3386c98ccc98b4136ca5860d92.tar.gz gsoc2013-evolution-bba69b99980a3f3386c98ccc98b4136ca5860d92.tar.zst gsoc2013-evolution-bba69b99980a3f3386c98ccc98b4136ca5860d92.zip |
** See bug #69579.
2004-11-23 Not Zed <NotZed@Ximian.com>
** See bug #69579.
* em-folder-properties.c (em_folder_properties_show): check to see
if the vfolder is the unmatched folder before letting the user try
to see its properties.
svn path=/trunk/; revision=28023
Diffstat (limited to 'mail/em-folder-properties.c')
-rw-r--r-- | mail/em-folder-properties.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/mail/em-folder-properties.c b/mail/em-folder-properties.c index 37df32199d..78328db898 100644 --- a/mail/em-folder-properties.c +++ b/mail/em-folder-properties.c @@ -39,6 +39,7 @@ #include <gtk/gtkvbox.h> #include <camel/camel-folder.h> +#include <camel/camel-vee-folder.h> #include <libgnome/gnome-i18n.h> #include "em-folder-properties.h" @@ -314,9 +315,23 @@ void em_folder_properties_show(GtkWindow *parent, CamelFolder *folder, const char *uri) { /* HACK: its the old behaviour, not very 'neat' but it works */ - if (!strncmp(uri, "vfolder:", 8)) - vfolder_edit_rule(uri); - else if (folder == NULL) + if (!strncmp(uri, "vfolder:", 8)) { + CamelURL *url = camel_url_new(uri, NULL); + + /* MORE HACK: UNMATCHED is a special folder which you can't modify, so check for it here */ + if (url == NULL + || url->fragment == NULL + || strcmp(url->fragment, CAMEL_UNMATCHED_NAME) != 0) { + if (url) + camel_url_free(url); + vfolder_edit_rule(uri); + return; + } + if (url) + camel_url_free(url); + } + + if (folder == NULL) mail_get_folder(uri, 0, emfp_dialog_got_folder, NULL, mail_thread_new); else emfp_dialog_got_folder((char *)uri, folder, NULL); |