diff --git a/src/Game.cpp b/src/Game.cpp index eb0ac1c..a84159a 100644 --- a/src/Game.cpp +++ b/src/Game.cpp @@ -66,8 +66,12 @@ Game::Game() { for (auto & spec : spectators) Game::eventQueue->registerListener(&spec); InputWindow::inputQueue->registerListener(&player); - Game::eventQueue->registerListener(new Logger); + auto logger = new Logger; + Game::eventQueue->registerListener(logger); + Game::eventQueue->unregisterListener(logger); + Game::eventQueue->registerListener(logger); Game::eventQueue->registerListener(new RecordTracker); + instance = this; } diff --git a/src/Queue.h b/src/Queue.h index 91b74e0..2a55595 100644 --- a/src/Queue.h +++ b/src/Queue.h @@ -53,7 +53,7 @@ public: template -class EventQueue : protected Queue{ +class EventQueue : private Queue{ std::set *> listeners; void update() override { EventType * event = this->pop();