Bug 185216 [CellEditors] Double click behavior on editable cells for tables happens regardless of the button used to execute the second click.
This happens with an editable CellEditor in a table. 1. The user single clicks (with button 1) the text cell editor to activate the cell. The text inside the cell automatically highlights. 2. The user clicks again (with button 2 and within the defined double click time) to activate the popup menu (perhaps they wish to paste a new value over the highlighted text). The text cell editor will then become un-activated and the double click behavior for the table will be run. I believe that this could be fixed by ensuring that for a double click action to happen, both mouse clicks are from button 1. I looked at the code in 3.2.2 and this is would involve modifying the code in both the TableEditorImpl.activateCellEditor() (lines 98-110 where it adds the mouse listener) and in TreeEditorImpl.activateCellEditor() (also lines 98-110). In 3.3, it appears that those classes were replaced. I did find, however, the same code in ColumnViewerEditor.activateCellEditor() (lines 181-193) and TableTreeViewer.TableTreeEditorImpl.activateCellEditor (lines 152-164).
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnViewerEditor.java
rv = searchCellAboveBelow(newRow, viewer, columnIndex, above);
			}
		}
		return rv;
	}
	private boolean isCellEditable(ColumnViewer viewer, ViewerCell cell) {
		ViewerColumn column = viewer.getViewerColumn(cell.getColumnIndex());
		return column != null && column.getEditingSupport() != null
				&& column.getEditingSupport().canEdit(cell.getElement());
	}
	private ViewerCell searchPreviousCell(ViewerRow row,
			ViewerCell currentCell, ViewerCell originalCell, ColumnViewer viewer) {
		ViewerCell rv = null;
		ViewerCell previousCell;
		if (currentCell != null) {
			previousCell = currentCell.getNeighbor(ViewerCell.LEFT, true);
		} else {
			if (row.getColumnCount() != 0) {
				previousCell = row.getCell(row.getCreationIndex(row
						.getColumnCount() - 1));
			} else {
				previousCell = row.getCell(0);
			}
		}
		
		if (originalCell.equals(previousCell)) {
			return null;
		}
		if (previousCell != null) {
			if (isCellEditable(viewer, previousCell)) {