Skip to content

Commit 484aac8

Browse files
committed
fix #319: Stop calling script in stop all block
1 parent 679fa03 commit 484aac8

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

src/blocks/controlblocks.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ void ControlBlocks::compileStop(Compiler *compiler)
139139
switch (option) {
140140
case StopAll:
141141
compiler->addFunctionCall(&stopAll);
142+
compiler->addInstruction(vm::OP_HALT);
142143
break;
143144

144145
case StopThisScript:

test/blocks/control_blocks_test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,7 @@ TEST_F(ControlBlocksTest, Stop)
666666
ControlBlocks::compileStop(&compiler);
667667
compiler.end();
668668

669-
ASSERT_EQ(compiler.bytecode(), std::vector<unsigned int>({ vm::OP_START, vm::OP_EXEC, 0, vm::OP_HALT, vm::OP_EXEC, 1, vm::OP_HALT }));
669+
ASSERT_EQ(compiler.bytecode(), std::vector<unsigned int>({ vm::OP_START, vm::OP_EXEC, 0, vm::OP_HALT, vm::OP_HALT, vm::OP_EXEC, 1, vm::OP_HALT }));
670670
ASSERT_TRUE(compiler.constValues().empty());
671671
ASSERT_TRUE(compiler.variables().empty());
672672
ASSERT_TRUE(compiler.lists().empty());

0 commit comments

Comments
 (0)