Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorteicher2009-04-21 19:06:05 +0000
committerteicher2009-04-21 19:06:05 +0000
commitdf91ec416e52e1eb6c2bb2a72356570ff62da20e (patch)
treed0ce21deb025d9d2f8fe8d406d91965ae0f72b17 /org.eclipse.jface.text/src/org/eclipse/jface/internal/text/SelectionProcessor.java
parent665107ef6114a1f4bb743210c60c4fa72387ec96 (diff)
downloadeclipse.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.java6
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);
}

Back to the top