File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -461,8 +461,9 @@ void Engine::setTargets(const std::vector<std::shared_ptr<Target>> &newTargets)
461461{
462462 m_targets = newTargets;
463463
464- // Set engine and target in all blocks
464+ // Set engine in targets and engine and target in all blocks
465465 for (auto target : m_targets) {
466+ target->setEngine (this );
466467 auto blocks = target->blocks ();
467468 for (auto block : blocks) {
468469 block->setEngine (this );
Original file line number Diff line number Diff line change @@ -255,7 +255,11 @@ TEST(EngineTest, Targets)
255255 auto t1 = std::make_shared<Target>();
256256 t1->setName (" Sprite1" );
257257 auto t2 = std::make_shared<Target>();
258+ auto block1 = std::make_shared<Block>(" " , " " );
259+ auto block2 = std::make_shared<Block>(" " , " " );
258260 t2->setName (" Sprite2" );
261+ t2->addBlock (block1);
262+ t2->addBlock (block2);
259263 auto t3 = std::make_shared<Target>();
260264 t3->setName (" Stage" );
261265 engine.setTargets ({ t1, t2, t3 });
@@ -271,4 +275,11 @@ TEST(EngineTest, Targets)
271275 ASSERT_EQ (engine.findTarget (" Sprite1" ), 0 );
272276 ASSERT_EQ (engine.findTarget (" Sprite2" ), 1 );
273277 ASSERT_EQ (engine.findTarget (" Stage" ), 2 );
278+
279+ ASSERT_EQ (t1->engine (), &engine);
280+ ASSERT_EQ (t2->engine (), &engine);
281+ ASSERT_EQ (t3->engine (), &engine);
282+
283+ ASSERT_EQ (block1->engine (), &engine);
284+ ASSERT_EQ (block2->engine (), &engine);
274285}
You can’t perform that action at this time.
0 commit comments