Fix arrange when same node title

This commit is contained in:
Joey Yakimowich-Payne 2026-02-06 09:24:10 -07:00
commit 0dbd10b5e3

View file

@ -491,16 +491,20 @@ void WarpGraphModel::refreshFromClient() {
if (pendingIt != m_pendingPositions.end()) { if (pendingIt != m_pendingPositions.end()) {
m_positions.emplace(qtId, pendingIt->second); m_positions.emplace(qtId, pendingIt->second);
m_pendingPositions.erase(pendingIt); m_pendingPositions.erase(pendingIt);
} else {
auto groupPos = findAppGroupPosition(nodeIt->second);
if (groupPos) {
m_positions.emplace(qtId, findNonOverlappingPosition(*groupPos, nodeIt->second));
} else { } else {
auto savedIt = m_savedPositions.find(nodeInfo.name); auto savedIt = m_savedPositions.find(nodeInfo.name);
if (savedIt != m_savedPositions.end()) { if (savedIt != m_savedPositions.end()) {
m_positions.emplace(qtId, savedIt->second); m_positions.emplace(qtId, savedIt->second);
} else { } else {
auto groupPos = findAppGroupPosition(nodeIt->second); QPointF candidate = nextPosition(nodeIt->second);
QPointF candidate = groupPos.value_or(nextPosition(nodeIt->second));
m_positions.emplace(qtId, findNonOverlappingPosition(candidate, nodeIt->second)); m_positions.emplace(qtId, findNonOverlappingPosition(candidate, nodeIt->second));
} }
} }
}
if (nodeHasVolume(nodeType)) { if (nodeHasVolume(nodeType)) {
auto *volumeWidget = new NodeVolumeWidget(); auto *volumeWidget = new NodeVolumeWidget();