diff -r d803ba077da0 -r 9106d66bd204 SFCViewer.py --- a/SFCViewer.py Wed Mar 18 16:42:12 2009 +0100 +++ b/SFCViewer.py Thu Mar 19 18:10:12 2009 +0100 @@ -170,7 +170,7 @@ elif self.Mode == MODE_SELECTION: dc = self.GetLogicalDC() pos = event.GetLogicalPosition(dc) - if event.ShiftDown(): + if event.ShiftDown() and not event.ControlDown() and self.SelectedElement is not None: element = self.FindElement(pos, True) if element and not self.IsWire(element): if isinstance(self.SelectedElement, Graphic_Group): @@ -186,6 +186,7 @@ self.SelectedElement = element elif len(elements) == 1: self.SelectedElement = elements[0] + self.SelectedElement.SetSelected(True) else: element = self.FindElement(pos) if self.SelectedElement and self.SelectedElement != element: