### Eclipse Workspace Patch 1.0 #P org.eclipse.gef Index: src/org/eclipse/gef/ui/parts/GraphicalViewerKeyHandler.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.gef/src/org/eclipse/gef/ui/parts/GraphicalViewerKeyHandler.java,v retrieving revision 1.25 diff -u -r1.25 GraphicalViewerKeyHandler.java --- src/org/eclipse/gef/ui/parts/GraphicalViewerKeyHandler.java 13 Jun 2005 05:22:42 -0000 1.25 +++ src/org/eclipse/gef/ui/parts/GraphicalViewerKeyHandler.java 22 Nov 2006 17:33:52 -0000 @@ -456,16 +456,18 @@ * of the EditPart that currently has focus. * @param event the key event received */ -protected void processSelect(KeyEvent event) { - EditPart part = getViewer().getFocusEditPart(); - if ((event.stateMask & SWT.CONTROL) != 0 - && part.getSelected() != EditPart.SELECTED_NONE) - getViewer().deselect(part); - else - getViewer().appendSelection(part); + protected void processSelect(KeyEvent event) { + EditPart part = getViewer().getFocusEditPart(); + if (part != getViewer().getContents()) { + if ((event.stateMask & SWT.CONTROL) != 0 + && part.getSelected() != EditPart.SELECTED_NONE) + getViewer().deselect(part); + else + getViewer().appendSelection(part); - getViewer().setFocus(part); -} + getViewer().setFocus(part); + } + } void scrollViewer(KeyEvent event) { if (!(getViewer().getControl() instanceof FigureCanvas))