diff options
| -rw-r--r-- | sigmodr/widgets/mapeditor/WorldMapPlacement.cpp | 15 |
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]; + } + } } } } |
