BFilePanel makes a copy of the passed messenger

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27728 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stefano Ceccherini 2008-09-25 10:08:04 +00:00
parent 1c35c27bec
commit c404bd0e22
1 changed files with 7 additions and 3 deletions

View File

@ -239,11 +239,15 @@ ExpanderPreferences::MessageReceived(BMessage *msg)
{ {
switch (msg->what) { switch (msg->what) {
case MSG_DESTSELECT: case MSG_DESTSELECT:
if (!fUsePanel) {
fUsePanel = new DirectoryFilePanel(B_OPEN_PANEL, new BMessenger(this), NULL, if (!fUsePanel) {
BMessenger messenger(this);
fUsePanel = new DirectoryFilePanel(B_OPEN_PANEL, &messenger, NULL,
B_DIRECTORY_NODE, false, NULL, new DirectoryRefFilter(), true); B_DIRECTORY_NODE, false, NULL, new DirectoryRefFilter(), true);
}
fUsePanel->Show(); fUsePanel->Show();
break; break;
}
case MSG_DIRECTORY: case MSG_DIRECTORY:
{ {
entry_ref ref; entry_ref ref;
@ -253,8 +257,8 @@ ExpanderPreferences::MessageReceived(BMessage *msg)
BPath path(&entry); BPath path(&entry);
fDestText->SetText(path.Path()); fDestText->SetText(path.Path());
fUsePanel->Hide(); fUsePanel->Hide();
break;
} }
break;
case B_REFS_RECEIVED: case B_REFS_RECEIVED:
if (msg->FindRef("refs", 0, &fRef) == B_OK) { if (msg->FindRef("refs", 0, &fRef) == B_OK) {
BEntry entry(&fRef, true); BEntry entry(&fRef, true);