Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNitin Dahyabhai2019-05-29 10:08:25 -0400
committerNitin Dahyabhai2019-05-29 10:08:25 -0400
commit4e03166cc66fbb3a97629a127a1f0d9db8435db8 (patch)
tree4162d804d186a47206376ad3af890d1d7cd24f90
parent7355475a97cd6d959641da06328d0c15b478fe6b (diff)
downloadwebtools.sourceediting-4e03166cc66fbb3a97629a127a1f0d9db8435db8.tar.gz
webtools.sourceediting-4e03166cc66fbb3a97629a127a1f0d9db8435db8.tar.xz
webtools.sourceediting-4e03166cc66fbb3a97629a127a1f0d9db8435db8.zip
[314480] Add safety to avoid CCEs between different providers and reapply
the correct filter value after switching configurations.
-rw-r--r--core/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/quickoutline/QuickOutlinePopupDialog.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/core/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/quickoutline/QuickOutlinePopupDialog.java b/core/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/quickoutline/QuickOutlinePopupDialog.java
index c5503f1cd..7d3e78ea7 100644
--- a/core/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/quickoutline/QuickOutlinePopupDialog.java
+++ b/core/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/quickoutline/QuickOutlinePopupDialog.java
@@ -516,6 +516,7 @@ public class QuickOutlinePopupDialog extends PopupDialog implements IInformation
nextConfiguration = fFirstConfiguration;
}
if (fConfiguration != nextConfiguration) {
+ fTreeViewer.setInput(null);
fContentProvider.dispose();
fLabelProvider.dispose();
@@ -531,8 +532,16 @@ public class QuickOutlinePopupDialog extends PopupDialog implements IInformation
fFilter = nextConfiguration.getFilter();
installFilter();
fConfiguration = nextConfiguration;
- fTreeViewer.refresh(true);
- setMatcherString(fFilterText.getText(), true);
+
+ fTreeViewer.setInput(fModel);
+ // reapply and reappend (if needed) the wildcard for this new filter
+ String text = fFilterText.getText();
+ int length = text.length();
+ if (length > 0 && text.charAt(length - 1) != '*') {
+ text = text + '*';
+ }
+ setMatcherString(text, true);
+
updateStatusText();
}
}

Back to the top