diff options
author | Dani Megert | 2013-06-20 09:58:10 +0000 |
---|---|---|
committer | Dani Megert | 2013-06-20 09:58:10 +0000 |
commit | b556e339655c64cb771af2a70496709aecd0ecff (patch) | |
tree | f4c977f98c0ed93d32479a3d08abad1b7dbf770b | |
parent | d74439394698df3f60bc15a5fa81fc59db2367f5 (diff) | |
download | eclipse.platform.text-b556e339655c64cb771af2a70496709aecd0ecff.tar.gz eclipse.platform.text-b556e339655c64cb771af2a70496709aecd0ecff.tar.xz eclipse.platform.text-b556e339655c64cb771af2a70496709aecd0ecff.zip |
Fixed bug 410603: Add workaround for Combo bug on Linux
3 files changed, 22 insertions, 4 deletions
diff --git a/org.eclipse.ui.workbench.texteditor/META-INF/MANIFEST.MF b/org.eclipse.ui.workbench.texteditor/META-INF/MANIFEST.MF index 4ed5cffde33..892e7108e8a 100644 --- a/org.eclipse.ui.workbench.texteditor/META-INF/MANIFEST.MF +++ b/org.eclipse.ui.workbench.texteditor/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.ui.workbench.texteditor; singleton:=true -Bundle-Version: 3.8.100.qualifier +Bundle-Version: 3.8.200.qualifier Bundle-Activator: org.eclipse.ui.internal.texteditor.TextEditorPlugin Bundle-ActivationPolicy: lazy Bundle-Vendor: %providerName diff --git a/org.eclipse.ui.workbench.texteditor/pom.xml b/org.eclipse.ui.workbench.texteditor/pom.xml index 0f6ba4ab2c5..a120b724e87 100644 --- a/org.eclipse.ui.workbench.texteditor/pom.xml +++ b/org.eclipse.ui.workbench.texteditor/pom.xml @@ -18,6 +18,6 @@ </parent> <groupId>org.eclipse.ui</groupId> <artifactId>org.eclipse.ui.workbench.texteditor</artifactId> - <version>3.8.100-SNAPSHOT</version> + <version>3.8.200-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project> diff --git a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/FindReplaceDialog.java b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/FindReplaceDialog.java index 08db6da8d02..18331201bb4 100644 --- a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/FindReplaceDialog.java +++ b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/FindReplaceDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2010 IBM Corporation and others. + * Copyright (c) 2000, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -119,10 +119,23 @@ class FindReplaceDialog extends Dialog { */ private class FindModifyListener implements ModifyListener { + // XXX: Workaround for Combo bug on Linux (see bug 404202 and bug 410603) + private boolean fIgnoreNextEvent; + private void ignoreNextEvent() { + fIgnoreNextEvent= true; + } + /* * @see ModifyListener#modifyText(ModifyEvent) */ public void modifyText(ModifyEvent e) { + + // XXX: Workaround for Combo bug on Linux (see bug 404202 and bug 410603) + if (fIgnoreNextEvent) { + fIgnoreNextEvent= false; + return; + } + if (isIncrementalSearch() && !isRegExSearchAvailableAndChecked()) { if (fFindField.getText().equals("") && fTarget != null) { //$NON-NLS-1$ // empty selection at base location @@ -169,7 +182,7 @@ class FindReplaceDialog extends Dialog { private Shell fActiveShell; private final ActivationListener fActivationListener= new ActivationListener(); - private final ModifyListener fFindModifyListener= new FindModifyListener(); + private final FindModifyListener fFindModifyListener= new FindModifyListener(); private Label fReplaceLabel, fStatusLabel; private Button fForwardRadioButton, fGlobalRadioButton, fSelectedRangeRadioButton; @@ -1641,6 +1654,11 @@ class FindReplaceDialog extends Dialog { private void updateFindHistory() { if (okToUse(fFindField)) { fFindField.removeModifyListener(fFindModifyListener); + + // XXX: Workaround for Combo bug on Linux (see bug 404202 and bug 410603) + if (Util.isLinux()) + fFindModifyListener.ignoreNextEvent(); + updateHistory(fFindField, fFindHistory); fFindField.addModifyListener(fFindModifyListener); } |