Bug 293841 [FieldAssist] NumLock keyDown event should not close the proposal popup [with patch]
User-Agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.0.14) Gecko/2009082707 Firefox/3.0.14 Build Identifier: 20090920-1017 I have a Text widget with a ContentProposalAdapter attached to it. The user shall input some numeric value, but on this platform (Windows 2003 Terminal Server with rdestop unix client, if that matters) there are additional keyDown events generated for num pad input. These events almost immediately close the proposal popup after user input. Input with the normal "digit keys" works as expected. The ContentProposalAdapter.ControlProposalPopup.TargetControlListener class currently does check for keyDown events on the SWT.CAPS_LOCK and SWT.MOD{1-4} keys and does ignore them. Any other key forces the popup to close. I suggest to also NOT close the popup on SWT.NUM_LOCK keyDown events. Reproducible: Always
bundles/org.eclipse.jface/src/org/eclipse/jface/fieldassist/ContentProposalAdapter.java
* @deprecated As of 3.4, filtering that is sensitive to changes in the
	 *             control content should be performed by the supplied
	 *             {@link IContentProposalProvider}, such as that performed by
	 *             {@link SimpleContentProposalProvider}
	 */
	public static final int FILTER_CUMULATIVE = 3;
	/*
	 * Set to <code>true</code> to use a Table with SWT.VIRTUAL. This is a
	 * workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=98585#c40
	 * The corresponding SWT bug is
	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=90321
	 */
	private static final boolean USE_VIRTUAL = !Util.isMotif();
	/*
	 * The delay before showing a secondary popup.
	 */
	private static final int POPUP_DELAY = 750;
	/*
	 * The character height hint for the popup. May be overridden by using
	 * setInitialPopupSize.
	 */
	private static final int POPUP_CHAR_HEIGHT = 10;
	/*
	 * The minimum pixel width for the popup. May be overridden by using
	 * setInitialPopupSize.
	 */
	private static final int POPUP_MINIMUM_WIDTH = 300;
	/*
	 * The pixel offset of the popup from the bottom corner of the control.
	 */