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
control.addMouseListener(mouseListener);
				}
				if (tabeditingListener == null) {
					tabeditingListener = new TraverseListener() {
						public void keyTraversed(TraverseEvent e) {
							if ((feature & DEFAULT) != DEFAULT) {
								processTraverseEvent(cell.getColumnIndex(),
										viewer.getViewerRowFromItem(cell
												.getItem()), e);
							}
						}
					};
				}
				control.addTraverseListener(tabeditingListener);
				if (editorActivationListener != null
						&& !editorActivationListener.isEmpty()) {
					Object[] ls = editorActivationListener.getListeners();
					for (int i = 0; i < ls.length; i++) {
						((ColumnViewerEditorActivationListener) ls[i])
								.afterEditorActivated(activationEvent);
					}
				}
				
				this.cell.getItem().addDisposeListener(disposeListener);
				return true;
			}
		}
		return false;
	}
	private boolean shouldFireDoubleClick(int activationTime, int mouseTime,