aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tools/mmaps_generator/MapBuilder.cpp12
-rw-r--r--src/tools/mmaps_generator/MapBuilder.h2
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;
};
}