{
CONTEXT("Activating object '" + GetName() + "' of type '" + GetType()->GetName() + "'");
- Start(runtimeCreated);
-
- ASSERT(GetStartCalled());
-
{
ObjectLock olock(this);
+
+ Start(runtimeCreated);
+
+ ASSERT(GetStartCalled());
ASSERT(!IsActive());
SetActive(true, true);
- }
- if (GetHAMode() == HARunEverywhere)
- SetAuthority(true);
+ if (GetHAMode() == HARunEverywhere)
+ SetAuthority(true);
+ }
NotifyActive();
}
return;
SetActive(false, true);
- }
- SetAuthority(false);
+ SetAuthority(false);
- Stop(runtimeRemoved);
+ Stop(runtimeRemoved);
+ }
ASSERT(GetStopCalled());
void ConfigObject::SetAuthority(bool authority)
{
+ ObjectLock olock(this);
+
if (authority && GetPaused()) {
SetResumeCalled(false);
Resume();