diff --git a/src/apps/terminal/TermApp.cpp b/src/apps/terminal/TermApp.cpp index 5732bad6ed..baecfb5f06 100644 --- a/src/apps/terminal/TermApp.cpp +++ b/src/apps/terminal/TermApp.cpp @@ -148,10 +148,10 @@ TermApp::AboutRequested() "\tupdated by Kian Duffy and others\n\n" "\tCopyright " B_UTF8_COPYRIGHT "2003-2005, Haiku.\n", "Ok"); BTextView *view = alert->TextView(); - BFont font; - + view->SetStylable(true); + BFont font; view->GetFont(&font); font.SetSize(18); font.SetFace(B_BOLD_FACE); diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index a5ced62001..5c53eb28d8 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -78,11 +78,8 @@ TermParse::~TermParse() delete_sem(fReaderLocker); status_t dummy; - kill_thread(fParseThread); - kill_thread(fReaderThread); - //wait_for_thread(fReaderThread, &dummy); - //wait_for_thread(fParseThread, &dummy); - // + wait_for_thread(fReaderThread, &dummy); + wait_for_thread(fParseThread, &dummy); } diff --git a/src/apps/terminal/TermWindow.cpp b/src/apps/terminal/TermWindow.cpp index e0e0c407e1..87d4f85f54 100644 --- a/src/apps/terminal/TermWindow.cpp +++ b/src/apps/terminal/TermWindow.cpp @@ -59,7 +59,7 @@ void SetCoding(int); TermWindow::TermWindow(BRect frame, const char* title, int fd) - : BWindow(frame, title, B_DOCUMENT_WINDOW, B_CURRENT_WORKSPACE), + : BWindow(frame, title, B_DOCUMENT_WINDOW, B_CURRENT_WORKSPACE|B_QUIT_ON_WINDOW_CLOSE), fPfd(fd) { InitWindow(); @@ -72,6 +72,17 @@ TermWindow::TermWindow(BRect frame, const char* title, int fd) TermWindow::~TermWindow() { + close(fPfd); + delete fTermParse; + delete fCodeConv; + if (fPrefWindow) + fPrefWindow->PostMessage(B_QUIT_REQUESTED); + + if (fFindPanel && fFindPanel->Lock()) { + fFindPanel->Quit(); + fFindPanel = NULL; + } + delete fWindowUpdate; } @@ -603,27 +614,17 @@ TermWindow::WindowActivated (bool ) void TermWindow::Quit() { - delete fTermParse; - delete fCodeConv; - if (fPrefWindow) - fPrefWindow->PostMessage(B_QUIT_REQUESTED); - - if (fFindPanel && fFindPanel->Lock()) { - fFindPanel->Quit(); - fFindPanel = NULL; - } - - be_app->PostMessage(B_QUIT_REQUESTED, be_app); - BWindow::Quit (); + BWindow::Quit(); } bool TermWindow::QuitRequested(void) { - - return true; + return BWindow::QuitRequested(); } + + //////////////////////////////////////////////////////////////////////////// // int GetTimeZone (void) // Get Machine Timezone.