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;