diff --git a/sources/TerminalStrip/UndoCommand/bridgeterminalscommand.cpp b/sources/TerminalStrip/UndoCommand/bridgeterminalscommand.cpp
index 1a1eec5ba..6ccce15b0 100644
--- a/sources/TerminalStrip/UndoCommand/bridgeterminalscommand.cpp
+++ b/sources/TerminalStrip/UndoCommand/bridgeterminalscommand.cpp
@@ -16,6 +16,7 @@
along with QElectroTech. If not, see .
*/
#include "bridgeterminalscommand.h"
+#include "../terminalstripbridge.h"
BridgeTerminalsCommand::BridgeTerminalsCommand(TerminalStrip *strip,
QVector> real_terminal,
@@ -57,8 +58,18 @@ UnBridgeTerminalsCommand::UnBridgeTerminalsCommand(TerminalStrip *strip,
if (strip->canUnBridge(real_terminal))
{
- m_terminals = real_terminal;
- m_bridge = strip->isBridged(real_terminal.first());
+ m_bridge = strip->isBridged(real_terminal.first());
+
+ //If bridge have one more terminals than @real_terminal
+ //that mean every terminals of the bridge must be unbridged by this undo command,
+ //else the single terminal who's not umbridged by this undo command
+ //continue to have a bridge (to nothing) and this nowhere bridge is visible
+ //in the terminal strip graphic item and terminal strip editor dialog.
+ if (m_bridge->realTerminals().size() == real_terminal.size() + 1) {
+ m_terminals = m_bridge->realTerminals();
+ } else {
+ m_terminals = real_terminal;
+ }
}
}