diff options
author | teicher | 2009-04-21 19:06:05 +0000 |
---|---|---|
committer | teicher | 2009-04-21 19:06:05 +0000 |
commit | df91ec416e52e1eb6c2bb2a72356570ff62da20e (patch) | |
tree | d0ce21deb025d9d2f8fe8d406d91965ae0f72b17 /org.eclipse.jface.text/src/org/eclipse/jface/internal/text/SelectionProcessor.java | |
parent | 665107ef6114a1f4bb743210c60c4fa72387ec96 (diff) | |
download | eclipse.platform.text-df91ec416e52e1eb6c2bb2a72356570ff62da20e.tar.gz eclipse.platform.text-df91ec416e52e1eb6c2bb2a72356570ff62da20e.tar.xz eclipse.platform.text-df91ec416e52e1eb6c2bb2a72356570ff62da20e.zip |
bug 267804: [block selection][projection] copy paste does not work for unequal length selected text
Diffstat (limited to 'org.eclipse.jface.text/src/org/eclipse/jface/internal/text/SelectionProcessor.java')
-rw-r--r-- | org.eclipse.jface.text/src/org/eclipse/jface/internal/text/SelectionProcessor.java | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/SelectionProcessor.java b/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/SelectionProcessor.java index 7cc9d23ab81..8ffb7b77f00 100644 --- a/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/SelectionProcessor.java +++ b/org.eclipse.jface.text/src/org/eclipse/jface/internal/text/SelectionProcessor.java @@ -18,7 +18,6 @@ import org.eclipse.text.edits.DeleteEdit; import org.eclipse.text.edits.InsertEdit; import org.eclipse.text.edits.MalformedTreeException; import org.eclipse.text.edits.MultiTextEdit; -import org.eclipse.text.edits.RangeMarker; import org.eclipse.text.edits.ReplaceEdit; import org.eclipse.text.edits.TextEdit; @@ -227,7 +226,6 @@ public final class SelectionProcessor { int endColumn= cts.getEndColumn(); int visualStartColumn= computeVisualColumn(startLine, startColumn); int visualEndColumn= computeVisualColumn(endLine, endColumn); - visualEndColumn= Math.max(visualStartColumn, visualEndColumn); // HACK - TextViewer::getSelection does not know about virtual selections root= new MultiTextEdit(); String[] delimiters= fDocument.getLegalLineDelimiters(); @@ -248,8 +246,6 @@ public final class SelectionProcessor { } TextEdit replace= createReplaceEdit(line, visualStartColumn, visualEndColumn, string); root.addChild(replace); - if (line == startLine) - root.addChild(new RangeMarker(replace.getOffset() + replace.getLength(), 0)); } while (lastDelim != -1) { // more stuff to insert @@ -427,6 +423,8 @@ public final class SelectionProcessor { } if (endColumn == -1) endColumn= lineLength; + if (replacement.length() == 0) + return new DeleteEdit(info.getOffset() + startColumn, endColumn - startColumn); return new ReplaceEdit(info.getOffset() + startColumn, endColumn - startColumn, replacement); } |