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
* Subclasses may overwrite to implement their custom logic to edit the next
	 * cell
	 * </p>
	 *
	 * @param columnIndex
	 *            the index of the current column
	 * @param row
	 *            the current row - may only be used for the duration of this
	 *            method call
	 * @param event
	 *            the traverse event
	 */
	protected void processTraverseEvent(int columnIndex, ViewerRow row,
			TraverseEvent event) {
		ViewerCell cell2edit = null;
		if (event.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
			event.doit = false;
			if ((event.stateMask & SWT.CTRL) == SWT.CTRL
					&& (feature & TABBING_VERTICAL) == TABBING_VERTICAL) {
				cell2edit = searchCellAboveBelow(row, viewer, columnIndex, true);
			} else if ((feature & TABBING_HORIZONTAL) == TABBING_HORIZONTAL) {
				cell2edit = searchPreviousCell(row, row.getCell(columnIndex),
						row.getCell(columnIndex), viewer);
			}
		} else if (event.detail == SWT.TRAVERSE_TAB_NEXT) {
			event.doit = false;
			if ((event.stateMask & SWT.CTRL) == SWT.CTRL
					&& (feature & TABBING_VERTICAL) == TABBING_VERTICAL) {
				cell2edit = searchCellAboveBelow(row, viewer, columnIndex,
						false);