summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sigmodr/widgets/mapeditor/WorldMapPlacement.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp b/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp
index f316bcbc..8ef35d9c 100644
--- a/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp
+++ b/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp
@@ -424,8 +424,19 @@ void WorldMapPlacement::finalize()
{
if (touches(m_rects[i], m_rects[j]))
{
- conns[i] |= conns[j];
- conns[j] |= conns[i];
+ for (int k = 0; k < m_rects.size(); ++k)
+ {
+ if (conns[i][k])
+ {
+ conns[k] |= conns[j];
+ conns[j] |= conns[k];
+ }
+ if (conns[j][k])
+ {
+ conns[k] |= conns[i];
+ conns[i] |= conns[k];
+ }
+ }
}
}
}