Blob Blame History Raw
diff -Naurp xfce4-places-plugin-1.1.0.bak/panel-plugin/model_system.c xfce4-places-plugin-1.1.0/panel-plugin/model_system.c
--- xfce4-places-plugin-1.1.0.bak/panel-plugin/model_system.c	2008-06-07 20:01:09.000000000 +0200
+++ xfce4-places-plugin-1.1.0/panel-plugin/model_system.c	2008-08-08 04:21:58.000000000 +0200
@@ -87,6 +87,7 @@ pbsys_get_bookmarks(PlacesBookmarkGroup 
     ThunarVfsInfo *trash_info;
 #endif
     const gchar *home_dir = xfce_get_homedir();
+    const gchar *desktop_dir = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP);
 
     pbg_priv(bookmark_group)->check_changed = TRUE;
 
@@ -133,7 +134,11 @@ pbsys_get_bookmarks(PlacesBookmarkGroup 
 
     /* Desktop */
     bookmark                = places_bookmark_create(_("Desktop"));
-    bookmark->uri           = g_build_filename(home_dir, "Desktop", NULL);
+    if (G_UNLIKELY(desktop_dir == NULL)) {
+      bookmark->uri           = g_build_filename(home_dir, "Desktop", NULL);
+    } else {
+      bookmark->uri           = g_strdup(desktop_dir);
+    }
     bookmark->icon          = "gnome-fs-desktop";
     bookmark->finalize      = pbsys_finalize_desktop_bookmark;
 
@@ -179,12 +184,17 @@ pbsys_changed(PlacesBookmarkGroup *bookm
     gboolean trash_is_empty = FALSE;
     ThunarVfsInfo *trash_info;
 #endif
+    const gchar *desktop_dir=g_get_user_special_dir(G_USER_DIRECTORY_DESKTOP);
 
     if(!pbg_priv(bookmark_group)->check_changed)
         return FALSE;
     
     /* Check if desktop now exists and didn't before */
-    uri = g_build_filename(xfce_get_homedir(), "Desktop", NULL);
+    if (G_UNLIKELY(desktop_dir==NULL)) {
+      uri = g_build_filename(xfce_get_homedir(), "Desktop", NULL);
+    } else {
+      uri = g_strdup(desktop_dir);
+    }
     if(g_file_test(uri, G_FILE_TEST_IS_DIR) != pbg_priv(bookmark_group)->desktop_exists){
         g_free(uri);
         return TRUE;