From 48a044e86e9000054146821efc879e1a9b411bb0 Mon Sep 17 00:00:00 2001 From: skyjake Date: Fri, 27 Apr 2012 17:24:37 +0300 Subject: [PATCH] LegacyCore: Force loop resuming after pop When returning to an earlier loop context, make sure the loop continues running again. For example, when returning from busy mode. --- doomsday/libdeng2/src/legacy/legacycore.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/doomsday/libdeng2/src/legacy/legacycore.cpp b/doomsday/libdeng2/src/legacy/legacycore.cpp index 2305441773..66aa302e53 100644 --- a/doomsday/libdeng2/src/legacy/legacycore.cpp +++ b/doomsday/libdeng2/src/legacy/legacycore.cpp @@ -142,10 +142,8 @@ void LegacyCore::popLoop() LOG_DEBUG("Loop function popped, now %p.") << dintptr(d->loop.func); - if(!d->loop.paused) - { - resumeLoop(); - } + d->loop.paused = true; // Force resume. + resumeLoop(); } void LegacyCore::pauseLoop() @@ -163,8 +161,6 @@ void LegacyCore::resumeLoop() d->loop.paused = false; if(d->loop.func) { - DENG2_ASSERT(!d->loopTimer->isActive()); - // Start the periodic callback calls. d->loopTimer->start(d->loop.interval); }