Revision 32425

View differences:

branches/gvSIG_19_ext3D_osgVP_2_2_0/libraries/lib3DMap/src/org/gvsig/gvsig3d/listener/EditorListener.java
63 63
	IViewerContainer _canvas3d;
64 64
	private TerrainViewer _terrainViewer;
65 65
	private boolean _camEnabled;
66
	private boolean _restoredNavigation = true;
66 67

  
67 68
	public EditorListener(EditionManager manager, ManipulatorHandler handler,
68 69
			FLayer layer, IViewerContainer canvas3d, TerrainViewer terrainViewer) {
......
94 95
	public void keyPressed(KeyEvent e) {
95 96

  
96 97
		if (e.getKeyCode() == KeyEvent.VK_CONTROL) {
97

  
98 98
			_handler.setActive(false);
99
			NavigationMode.restoreAllNavigationModes(_terrainViewer
99
			if(!_restoredNavigation) {
100
				NavigationMode.restoreAllNavigationModes(_terrainViewer
100 101
					.getTerrainCameraManipulator());
102
				_restoredNavigation = true;
103
			}
101 104
			_camEnabled = true;
102 105

  
103 106
		} else if (e.getKeyCode() == KeyEvent.VK_G) {
......
119 122
			_handler.setActive(true);
120 123
			NavigationMode.removeAllNavigationModes(_terrainViewer
121 124
					.getTerrainCameraManipulator());
125
			_restoredNavigation = false;
122 126
			_camEnabled = false;
123 127

  
124 128
		} else if (e.getKeyCode() == KeyEvent.VK_DELETE) {

Also available in: Unified diff