summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sigmodr/widgets/mapeditor/WorldMapPlacement.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp b/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp
index 33dfeac6..0b66a662 100644
--- a/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp
+++ b/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp
@@ -287,7 +287,16 @@ void WorldMapPlacement::addRect(const QRectF& rect)
while (queue.size())
{
QRectF newRect = queue.dequeue();
- if (m_rects.contains(newRect.toRect()))
+ bool collides = false;
+ foreach (const QRectF& rect, m_rects)
+ {
+ if (rect.intersects(newRect))
+ {
+ collides = true;
+ break;
+ }
+ }
+ if (collides)
continue;
foreach (const QRectF& rect, m_rects)
{