aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--composer/e-msg-composer.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 82f2ef5b14..168a843571 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -3929,6 +3929,8 @@ file_is_blacklisted (const gchar *argument)
}
if (blacklisted) {
+ gchar *base_dir;
+
/* Don't blacklist files in trusted base directories. */
if (g_str_has_prefix (filename, g_get_user_data_dir ()))
blacklisted = FALSE;
@@ -3936,6 +3938,20 @@ file_is_blacklisted (const gchar *argument)
blacklisted = FALSE;
if (g_str_has_prefix (filename, g_get_user_config_dir ()))
blacklisted = FALSE;
+
+ /* Apparently KDE still uses ~/.kde heavily, and some
+ * distributions use ~/.kde4 to distinguish KDE4 data
+ * from KDE3 data. Trust these directories as well. */
+
+ base_dir = g_build_filename (g_get_home_dir (), ".kde", NULL);
+ if (g_str_has_prefix (filename, base_dir))
+ blacklisted = FALSE;
+ g_free (base_dir);
+
+ base_dir = g_build_filename (g_get_home_dir (), ".kde4", NULL);
+ if (g_str_has_prefix (filename, base_dir))
+ blacklisted = FALSE;
+ g_free (base_dir);
}
g_strfreev (parts);