From c404bd0e2287981d95e12624513001cd99f9edb0 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Thu, 25 Sep 2008 10:08:04 +0000 Subject: [PATCH] BFilePanel makes a copy of the passed messenger git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27728 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/expander/ExpanderPreferences.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/apps/expander/ExpanderPreferences.cpp b/src/apps/expander/ExpanderPreferences.cpp index b8982c9ac0..4c7fbb0c73 100644 --- a/src/apps/expander/ExpanderPreferences.cpp +++ b/src/apps/expander/ExpanderPreferences.cpp @@ -239,11 +239,15 @@ ExpanderPreferences::MessageReceived(BMessage *msg) { switch (msg->what) { 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); + } fUsePanel->Show(); break; + } case MSG_DIRECTORY: { entry_ref ref; @@ -253,8 +257,8 @@ ExpanderPreferences::MessageReceived(BMessage *msg) BPath path(&entry); fDestText->SetText(path.Path()); fUsePanel->Hide(); + break; } - break; case B_REFS_RECEIVED: if (msg->FindRef("refs", 0, &fRef) == B_OK) { BEntry entry(&fRef, true);