Fall back to $HOME/Desktop for the DESKTOP directory, like
authorMatthias Clasen <mclasen@redhat.com>
Wed, 6 Jun 2007 19:05:53 +0000 (19:05 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 6 Jun 2007 19:05:53 +0000 (19:05 +0000)
2007-06-06  Matthias Clasen  <mclasen@redhat.com>

        * glib/gutils.c (g_get_user_special_dir): Fall back to
        $HOME/Desktop for the DESKTOP directory, like
        xdg_user_dir_lookup() does.

svn path=/trunk/; revision=5543

ChangeLog
glib/gutils.c

index 96138f0..f595ed4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-06-06  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gutils.c (g_get_user_special_dir): Fall back to
+       $HOME/Desktop for the DESKTOP directory, like 
+       xdg_user_dir_lookup() does.
+
 2007-06-05  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Bump version
index 6565e8e..e9ae8d1 100644 (file)
@@ -2436,7 +2436,15 @@ g_get_user_special_dir (GUserDirectory directory)
   if (g_user_special_dirs == NULL)
     {
       g_user_special_dirs = g_new0 (gchar *, G_USER_N_DIRECTORIES);
+
       load_user_special_dirs ();
+
+      /* Special-case desktop for historical compatibility */
+      if (g_user_special_dirs[G_USER_DIRECTORY_DESKTOP] == NULL)
+        {
+          g_get_any_init ();
+          g_user_special_dirs[directory] = g_build_filename (g_home_dir, "Desktop", NULL);
+        }
     }
 
   G_UNLOCK (g_utils_global);