From dccabf3cc9e6756014fd2ab7de1f24f837f1cfa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Thu, 17 Jan 2008 12:03:11 +0000 Subject: [PATCH] * mark the 2048 block size menu item as default * don't access invalid memory at the end of Go() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23583 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/preferences/drivesetup/InitParamsPanel.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/preferences/drivesetup/InitParamsPanel.cpp b/src/preferences/drivesetup/InitParamsPanel.cpp index e791072c83..f6feb660d2 100644 --- a/src/preferences/drivesetup/InitParamsPanel.cpp +++ b/src/preferences/drivesetup/InitParamsPanel.cpp @@ -88,7 +88,8 @@ InitParamsPanel::InitParamsPanel(BWindow* window) blocksizeMenu->AddItem(new BMenuItem("1024 (Mostly small files)", message)); message = new BMessage(MSG_BLOCK_SIZE); message->AddString("size", "2048"); - blocksizeMenu->AddItem(new BMenuItem("2048 (Recommended)", message)); + BMenuItem* defaultItem = new BMenuItem("2048 (Recommended)", message); + blocksizeMenu->AddItem(defaultItem); message = new BMessage(MSG_BLOCK_SIZE); message->AddString("size", "4096"); blocksizeMenu->AddItem(new BMenuItem("4096", message)); @@ -97,6 +98,7 @@ InitParamsPanel::InitParamsPanel(BWindow* window) blocksizeMenu->AddItem(new BMenuItem("8192 (Mostly large files)", message)); fBlockSizeMF = new BMenuField("Blocksize", blocksizeMenu, NULL); + defaultItem->SetMarked(true); BButton* okButton = new BButton("Initialize", new BMessage(MSG_OK)); BButton* cancelButton = new BButton("Cancel", new BMessage(MSG_CANCEL)); @@ -201,7 +203,7 @@ InitParamsPanel::Go(BString& name, BString& parameters) Show(); Unlock(); - // block this thread now + // block this thread now, but keep the window repainting while (true) { status_t err = acquire_sem_etc(fExitSemaphore, 1, B_CAN_INTERRUPT | B_RELATIVE_TIMEOUT, 50000); @@ -226,8 +228,12 @@ InitParamsPanel::Go(BString& name, BString& parameters) } } + int32 value = fReturnValue; + Quit(); - return fReturnValue; + // NOTE: this object is toast now! + + return value; }