diff options
-rw-r--r-- | src/Canvas.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Canvas.cpp b/src/Canvas.cpp index e5e165c..9858713 100644 --- a/src/Canvas.cpp +++ b/src/Canvas.cpp @@ -1523,7 +1523,8 @@ GanvCanvasImpl::port_event(GdkEvent* event, GanvPort* port) event->button.y_root == control_start_y) { select_port_toggle(port, event->button.state); } - } else if (event->button.state & (GDK_SHIFT_MASK|GDK_CONTROL_MASK)) { + } else if (_selected_ports.empty() || + (event->button.state & (GDK_SHIFT_MASK|GDK_CONTROL_MASK))) { select_port_toggle(port, event->button.state); } else { selection_joined_with(port); |