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
* Indicates that a chosen proposal should be inserted into the field.
	 */
	public static final int PROPOSAL_INSERT = 1;
	/**
	 * Indicates that a chosen proposal should replace the entire contents of
	 * the field.
	 */
	public static final int PROPOSAL_REPLACE = 2;
	/**
	 * Indicates that the contents of the control should not be modified when a
	 * proposal is chosen. This is typically used when a client needs more
	 * specialized behavior when a proposal is chosen. In this case, clients
	 * typically register an IContentProposalListener so that they are notified
	 * when a proposal is chosen.
	 */
	public static final int PROPOSAL_IGNORE = 3;
	/**
	 * Indicates that there should be no filter applied as keys are typed in the
	 * popup.
	 */
	public static final int FILTER_NONE = 1;
	/**
	 * Indicates that a single character filter applies as keys are typed in the
	 * popup.
	 */
	public static final int FILTER_CHARACTER = 2;
	/**
	 * Indicates that a cumulative filter applies as keys are typed in the
	 * popup. That is, each character typed will be added to the filter.
	 *