Fix bug #45 crash in zone lighter with large number of CPU cores

This commit is contained in:
kaetemi 2013-07-24 20:51:43 +02:00
parent e9c274c135
commit e435a07bb6

View file

@ -1170,8 +1170,7 @@ void CZoneLighter::light (CLandscape &landscape, CZone& output, uint zoneToLight
{ {
// Last patch // Last patch
uint lastPatch=firstPatch+patchCountByThread; uint lastPatch=firstPatch+patchCountByThread;
if (lastPatch>patchCount) lastPatch %= patchCount;
lastPatch=patchCount;
// Last patch computed // Last patch computed
_LastPatchComputed[process] = firstPatch; _LastPatchComputed[process] = firstPatch;
@ -3772,6 +3771,8 @@ uint CZoneLighter::getAPatch (uint process)
uint index = _LastPatchComputed[process]; uint index = _LastPatchComputed[process];
uint firstIndex = index; uint firstIndex = index;
nlassert(index < _PatchInfo.size());
if (access.value().size() == 0) if (access.value().size() == 0)
// no more patches // no more patches
return 0xffffffff; return 0xffffffff;