From 490f785868ff92a8195d84e9017dd1a6827854a3 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 16 Nov 2010 16:26:28 +0000 Subject: [PATCH] Override BApplication::QuitRequested(), so that when the system is shutting down, we can skip the checks for running processes. At least I found the alerts seriously annoying in this case. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39449 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/terminal/TermApp.cpp | 19 +++++++++++++++++++ src/apps/terminal/TermApp.h | 13 +++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/apps/terminal/TermApp.cpp b/src/apps/terminal/TermApp.cpp index cf5859f020..0e2fec6bc1 100644 --- a/src/apps/terminal/TermApp.cpp +++ b/src/apps/terminal/TermApp.cpp @@ -138,6 +138,25 @@ TermApp::ReadyToRun() } +bool +TermApp::QuitRequested() +{ + // check whether the system is shutting down + BMessage* message = CurrentMessage(); + bool shutdown; + if (message != NULL && message->FindBool("_shutdown_", &shutdown) == B_OK + && shutdown) { + // The system is shutting down. Quit the window synchronously. This + // skips the checks for running processes and the "Are you sure..." + // alert. + if (fTermWindow->Lock()) + fTermWindow->Quit(); + } + + return BApplication::QuitRequested(); +} + + void TermApp::Quit() { diff --git a/src/apps/terminal/TermApp.h b/src/apps/terminal/TermApp.h index 0fbdc2b35f..05d744ef1a 100644 --- a/src/apps/terminal/TermApp.h +++ b/src/apps/terminal/TermApp.h @@ -49,12 +49,13 @@ public: virtual ~TermApp(); protected: - void ReadyToRun(); - void Quit(); - void AboutRequested(); - void MessageReceived(BMessage* message); - void RefsReceived(BMessage* message); - void ArgvReceived(int32 argc, char** argv); + virtual void ReadyToRun(); + virtual bool QuitRequested(); + virtual void Quit(); + virtual void AboutRequested(); + virtual void MessageReceived(BMessage* message); + virtual void RefsReceived(BMessage* message); + virtual void ArgvReceived(int32 argc, char** argv); private: status_t _MakeTermWindow(BRect& frame,