From 336bfcc12728cf7062a98f4478d2f8c1fca8708d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 10 Apr 2006 21:34:05 +0000 Subject: [PATCH] fix for bug 455: desktop folder was incorrectly handled for refs from Tracker git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17061 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/preferences/backgrounds/BackgroundsView.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/preferences/backgrounds/BackgroundsView.cpp b/src/preferences/backgrounds/BackgroundsView.cpp index 9d6c2d13f4..32944ca756 100644 --- a/src/preferences/backgrounds/BackgroundsView.cpp +++ b/src/preferences/backgrounds/BackgroundsView.cpp @@ -937,6 +937,9 @@ BackgroundsView::RefsReceived(BMessage *msg) entry_ref ref; int32 i = 0; BMimeType imageType("image"); + BPath desktopPath; + find_directory(B_DESKTOP_DIRECTORY, &desktopPath); + while (msg->FindRef("refs", i++, &ref) == B_OK) { BPath path; BEntry entry(&ref, true); @@ -968,9 +971,13 @@ BackgroundsView::RefsReceived(BMessage *msg) } item->SetMarked(true); - BMessenger messenger(this); - messenger.SendMessage(kMsgImageSelected); + BMessenger(this).SendMessage(kMsgImageSelected); } else if (node.IsDirectory()) { + if (desktopPath == path) { + fWorkspaceMenu->FindItem(kMsgCurrentWorkspace)->SetMarked(true); + BMessenger(this).SendMessage(kMsgCurrentWorkspace); + break; + } BMenuItem *item; int32 index = AddPath(path); if (index >= 0) { @@ -988,8 +995,7 @@ BackgroundsView::RefsReceived(BMessage *msg) } item->SetMarked(true); - BMessenger messenger(this); - messenger.SendMessage(kMsgFolderSelected); + BMessenger(this).SendMessage(kMsgFolderSelected); } } }