Skip to content

Commit f750de8

Browse files
committed
Reset frame info when the engine is cleared or stopped
1 parent 344175a commit f750de8

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/engine/internal/engine.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ void Engine::clear()
4444
m_targets.clear();
4545
m_broadcasts.clear();
4646
m_clones.clear();
47+
48+
m_running = false;
49+
m_breakFrame = false;
50+
m_skipFrame = false;
51+
m_lockFrame = false;
4752
}
4853

4954
// Resolves ID references and sets pointers of entities.
@@ -945,6 +950,9 @@ void Engine::finalize()
945950
m_runningScripts.clear();
946951
m_scriptsToRemove.clear();
947952
m_running = false;
953+
m_breakFrame = false;
954+
m_skipFrame = false;
955+
m_lockFrame = false;
948956
}
949957

950958
void Engine::deleteClones()

test/engine/engine_test.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,16 @@ TEST(EngineTest, IsRunning)
6060
engine.start();
6161
engine.run();
6262
ASSERT_FALSE(engine.isRunning());
63+
64+
engine.breakFrame();
65+
66+
engine.start();
67+
ASSERT_TRUE(engine.isRunning());
68+
ASSERT_TRUE(engine.breakingCurrentFrame());
69+
70+
engine.stop();
71+
ASSERT_FALSE(engine.isRunning());
72+
ASSERT_FALSE(engine.breakingCurrentFrame());
6373
}
6474

6575
TEST(EngineTest, Fps)

0 commit comments

Comments
 (0)