Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgkessler2008-04-18 16:34:17 +0000
committergkessler2008-04-18 16:34:17 +0000
commitacaed43b8d7a5883e39d5175034b418968bf9417 (patch)
treee195937625a1c1bfdca32752219617b57e609e0c
parent02c8d255130d62da162cb463808ff87e8d262ccb (diff)
downloadwebtools.jsf-acaed43b8d7a5883e39d5175034b418968bf9417.tar.gz
webtools.jsf-acaed43b8d7a5883e39d5175034b418968bf9417.tar.xz
webtools.jsf-acaed43b8d7a5883e39d5175034b418968bf9417.zip
[219038] NPE in WPE
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeDragTracker.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeDragTracker.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeDragTracker.java
index ee6ac2372..03e690ee2 100644
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeDragTracker.java
+++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeDragTracker.java
@@ -16,6 +16,7 @@ import java.util.Collections;
import org.eclipse.draw2d.Cursors;
import org.eclipse.gef.DragTracker;
import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPartViewer;
import org.eclipse.gef.RequestConstants;
import org.eclipse.gef.requests.SelectionRequest;
import org.eclipse.gef.tools.TargetingTool;
@@ -284,21 +285,25 @@ public class RangeDragTracker extends TargetingTool implements DragTracker {
// XXX: not using updateTargetEditPartUnderMouse. Maybe should. Don't
// want to
// go through the request mechanism, so simple implementation for now.
- EditPart editPart = getCurrentViewer().findObjectAtExcluding(
+
+ //to avoid 219038 and possibility of current viewer changing
+ final EditPartViewer viewer = getCurrentViewer();
+ final IHTMLGraphicalViewer graphicalViewer = (IHTMLGraphicalViewer)viewer;
+ EditPart editPart = viewer.findObjectAtExcluding(
getLocation(), Collections.EMPTY_LIST);
IPositionMediator positionMediator = new InlineEditingPositionMediator(
new ActionData(ActionData.INLINE_EDIT, null));
- ExposeHelper exposeHelper = new ExposeHelper(getHTMLGraphicalViewer());
+ ExposeHelper exposeHelper = new ExposeHelper(graphicalViewer);
exposeHelper.adjustVertical(getCurrentInput().getMouseLocation());
DesignPosition position = EditPartPositionHelper.findEditPartPosition(
editPart, getCurrentInput().getMouseLocation(),
positionMediator);
if (b) {
- getHTMLGraphicalViewer().setRangeEndPosition(position);
+ graphicalViewer.setRangeEndPosition(position);
} else {
- getHTMLGraphicalViewer().setRange(position, position);
+ graphicalViewer.setRange(position, position);
}
- getHTMLGraphicalViewer().updateHorizontalPos();
+ graphicalViewer.updateHorizontalPos();
}
protected boolean handleHover() {

Back to the top