diff --git a/src/GlobalEvents.hxx b/src/GlobalEvents.hxx index ff4b47e5f778855f4a7a55b779aa935cf789d9c2..ff3c57df8f9b7d257d07aa07779f4116fae4ab20 100644 --- a/src/GlobalEvents.hxx +++ b/src/GlobalEvents.hxx @@ -33,11 +33,6 @@ namespace GlobalEvents { /** the current song's tag has changed */ TAG, -#ifdef WIN32 - /** shutdown requested */ - SHUTDOWN, -#endif - MAX }; diff --git a/src/Main.cxx b/src/Main.cxx index 6529c4fc4dc3fa822ac22ae075860324af0509f2..072e2e4e0076f316990f924108f0ea91237f5e2a 100644 --- a/src/Main.cxx +++ b/src/Main.cxx @@ -385,19 +385,6 @@ idle_event_emitted(void) state_file->CheckModified(); } -#ifdef WIN32 - -/** - * Handler for GlobalEvents::SHUTDOWN. - */ -static void -shutdown_event_emitted(void) -{ - instance->Shutdown(); -} - -#endif - #ifndef ANDROID int main(int argc, char *argv[]) @@ -536,9 +523,6 @@ try { GlobalEvents::Initialize(*instance->event_loop); GlobalEvents::Register(GlobalEvents::IDLE, idle_event_emitted); -#ifdef WIN32 - GlobalEvents::Register(GlobalEvents::SHUTDOWN, shutdown_event_emitted); -#endif if (!ConfigureFS(error)) { LogError(error); diff --git a/src/win32/Win32Main.cxx b/src/win32/Win32Main.cxx index edaf0af024a14aa8b8ddb907e0480e2a4ad855ea..75587f79ceb67075b733e062208961e92f12fce9 100644 --- a/src/win32/Win32Main.cxx +++ b/src/win32/Win32Main.cxx @@ -23,7 +23,7 @@ #ifdef WIN32 #include "Compiler.h" -#include "GlobalEvents.hxx" +#include "Instance.hxx" #include "system/FatalError.hxx" #include <cstdlib> @@ -71,7 +71,7 @@ service_dispatcher(gcc_unused DWORD control, gcc_unused DWORD event_type, switch (control) { case SERVICE_CONTROL_SHUTDOWN: case SERVICE_CONTROL_STOP: - GlobalEvents::Emit(GlobalEvents::SHUTDOWN); + instance->Shutdown(); return NO_ERROR; default: return NO_ERROR; @@ -107,7 +107,7 @@ console_handler(DWORD event) // regardless our thread is still active. // If this did not happen within 3 seconds // let's shutdown anyway. - GlobalEvents::Emit(GlobalEvents::SHUTDOWN); + instance->Shutdown(); // Under debugger it's better to wait indefinitely // to allow debugging of shutdown code. Sleep(IsDebuggerPresent() ? INFINITE : 3000);