Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Piech2013-01-16 18:44:13 +0000
committerPawel Piech2013-01-16 18:44:13 +0000
commitc7c121922013c5d942332b97eea7365be0956ec7 (patch)
treed707e173f7e0fca9b342a4ce83002aeb90e1cf0b /org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model
parentfded632c531a923715e02bb661c3033a7b221dbb (diff)
downloadeclipse.platform.debug-c7c121922013c5d942332b97eea7365be0956ec7.tar.gz
eclipse.platform.debug-c7c121922013c5d942332b97eea7365be0956ec7.tar.xz
eclipse.platform.debug-c7c121922013c5d942332b97eea7365be0956ec7.zip
Bug 393812 - find dialog gives error when select non-top level items from the dialog for variables/expressions/registers views.
Additional fix for the find action in Debug view.
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java
index 4306ee64c..459be0905 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java
@@ -266,6 +266,15 @@ public class VirtualFindAction extends Action implements IUpdate {
virtualViewer.getTree().setSelection(new VirtualItem[] { findItem } );
ModelDelta stateDelta = new ModelDelta(virtualViewer.getInput(), IModelDelta.NO_CHANGE);
virtualViewer.saveElementState(TreePath.EMPTY, stateDelta, IModelDelta.SELECT);
+ // Set the force flag to all select delta in order to override model's selection policy.
+ stateDelta.accept(new IModelDeltaVisitor() {
+ public boolean visit(IModelDelta delta, int depth) {
+ if ((delta.getFlags() & IModelDelta.SELECT) != 0) {
+ ((ModelDelta)delta).setFlags(delta.getFlags() | IModelDelta.FORCE);
+ }
+ return true;
+ }
+ });
fClientViewer.updateViewer(stateDelta);
ISelection selection = fClientViewer.getSelection();

Back to the top