diff options
-rw-r--r-- | src/tools/mmaps_generator/MapBuilder.cpp | 12 | ||||
-rw-r--r-- | src/tools/mmaps_generator/MapBuilder.h | 2 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/tools/mmaps_generator/MapBuilder.cpp b/src/tools/mmaps_generator/MapBuilder.cpp index 01a342249fd..a29502535e6 100644 --- a/src/tools/mmaps_generator/MapBuilder.cpp +++ b/src/tools/mmaps_generator/MapBuilder.cpp @@ -171,14 +171,16 @@ namespace MMAP { while (1) { - uint32 mapId; + uint32* mapId; _queue.WaitAndPop(mapId); if (_cancelationToken) return; - buildMap(mapId); + buildMap(*mapId); + + delete mapId; } } @@ -196,13 +198,13 @@ namespace MMAP for (TileList::iterator it = m_tiles.begin(); it != m_tiles.end(); ++it) { - uint32 mapID = it->m_mapId; - if (!shouldSkipMap(mapID)) + uint32* mapID = new uint32(it->m_mapId); + if (!shouldSkipMap(*mapID)) { if (threads > 0) _queue.Push(mapID); else - buildMap(mapID); + buildMap(*mapID); } } diff --git a/src/tools/mmaps_generator/MapBuilder.h b/src/tools/mmaps_generator/MapBuilder.h index 1d688ccfa77..c2168d048b4 100644 --- a/src/tools/mmaps_generator/MapBuilder.h +++ b/src/tools/mmaps_generator/MapBuilder.h @@ -143,7 +143,7 @@ namespace MMAP rcContext* m_rcContext; std::vector<std::thread> _workerThreads; - ProducerConsumerQueue<uint32> _queue; + ProducerConsumerQueue<uint32*> _queue; std::atomic<bool> _cancelationToken; }; } |