diff options
author | gkessler | 2008-04-18 16:34:17 +0000 |
---|---|---|
committer | gkessler | 2008-04-18 16:34:17 +0000 |
commit | acaed43b8d7a5883e39d5175034b418968bf9417 (patch) | |
tree | e195937625a1c1bfdca32752219617b57e609e0c | |
parent | 02c8d255130d62da162cb463808ff87e8d262ccb (diff) | |
download | webtools.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.java | 15 |
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() { |