DummyControl dummy = DummyControlImpl::New();
Actor actor = Actor::New();
- DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 0u, TEST_LOCATION );
+ DALI_TEST_EQUALS( actor.OnSceneSignal().GetConnectionCount(), 0u, TEST_LOCATION );
Toolkit::Internal::Control& control = Toolkit::Internal::GetImplementation( dummy );
DummyControlImpl* dummyImpl = dynamic_cast<DummyControlImpl*>(&control);
END_TEST;
}
- actor.OnStageSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
- DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 1u, TEST_LOCATION );
+ actor.OnSceneSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
+ DALI_TEST_EQUALS( actor.OnSceneSignal().GetConnectionCount(), 1u, TEST_LOCATION );
DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
application.GetScene().Add( actor );
DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, true, TEST_LOCATION );
dummyImpl->mCustomSlot1Called = false;
- actor.OnStageSignal().Disconnect( dummyImpl, &DummyControlImpl::CustomSlot1 );
- DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 0u, TEST_LOCATION );
+ actor.OnSceneSignal().Disconnect( dummyImpl, &DummyControlImpl::CustomSlot1 );
+ DALI_TEST_EQUALS( actor.OnSceneSignal().GetConnectionCount(), 0u, TEST_LOCATION );
application.GetScene().Remove( actor );
application.GetScene().Add( actor );
DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
END_TEST;
}
- actor.OnStageSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
- DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 1u, TEST_LOCATION );
+ actor.OnSceneSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
+ DALI_TEST_EQUALS( actor.OnSceneSignal().GetConnectionCount(), 1u, TEST_LOCATION );
DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
application.GetScene().Add( actor );
}
// dummyControl automatically disconnects
- DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 0u, TEST_LOCATION );
+ DALI_TEST_EQUALS( actor.OnSceneSignal().GetConnectionCount(), 0u, TEST_LOCATION );
const Vector3 ignoredSize( 20, 20, 0 );
actor.SetProperty( Actor::Property::SIZE, ignoredSize );
END_TEST;
}
+
+int UtcDaliControlStopObservingVisual(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline( "Test to stop observing a visual when a control is destroyed" );
+
+ Control control = Control::New();
+ control[Actor::Property::SIZE] = Vector2( 200.f, 200.f );
+ control[Control::Property::BACKGROUND] = "invalid.svg";
+
+ application.GetScene().Add( control );
+
+ application.SendNotification();
+ application.Render();
+
+ // Delete control
+ control.Unparent();
+ control.Reset();
+
+ // SVG rasterization may be finished after the control is deleted.
+ // Ensure it doesn't cause a crash.
+ DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
+
+ END_TEST;
+}