Made Submodules initialized when used

Former-commit-id: 203a4a3b07e18301ce003129bb6af22e0478d07a
This commit is contained in:
Lynix
2014-04-12 14:19:29 +02:00
parent 8c6c58c677
commit b30d325ca5
3 changed files with 34 additions and 15 deletions

View File

@@ -70,6 +70,9 @@ namespace
NzString NzHardwareInfo::GetProcessorBrandString()
{
if (!Initialize())
NazaraError("Failed to initialize HardwareInfo");
return s_brandString;
}
@@ -82,11 +85,17 @@ unsigned int NzHardwareInfo::GetProcessorCount()
nzProcessorVendor NzHardwareInfo::GetProcessorVendor()
{
if (!Initialize())
NazaraError("Failed to initialize HardwareInfo");
return s_vendorEnum;
}
NzString NzHardwareInfo::GetProcessorVendorName()
{
if (!Initialize())
NazaraError("Failed to initialize HardwareInfo");
return vendorNames[s_vendorEnum+1];
}

View File

@@ -34,8 +34,14 @@ bool NzTaskScheduler::Initialize()
void NzTaskScheduler::Run()
{
NzTaskSchedulerImpl::Run(&s_pendingWorks[0], s_pendingWorks.size());
s_pendingWorks.clear();
if (!Initialize())
NazaraError("Failed to initialize TaskScheduler");
if (!s_pendingWorks.empty())
{
NzTaskSchedulerImpl::Run(&s_pendingWorks[0], s_pendingWorks.size());
s_pendingWorks.clear();
}
}
void NzTaskScheduler::SetWorkerCount(unsigned int workerCount)
@@ -59,18 +65,16 @@ void NzTaskScheduler::Uninitialize()
void NzTaskScheduler::WaitForTasks()
{
if (!Initialize())
NazaraError("Failed to initialize TaskScheduler");
NzTaskSchedulerImpl::WaitForTasks();
}
void NzTaskScheduler::AddTaskFunctor(NzFunctor* taskFunctor)
{
#ifdef NAZARA_CORE_SAFE
if (!NzTaskSchedulerImpl::IsInitialized())
{
NazaraError("Task scheduler is not initialized");
return;
}
#endif
if (!Initialize())
NazaraError("Failed to initialize TaskScheduler");
s_pendingWorks.push_back(taskFunctor);
}