diff options
author | Anthony Balkissoon <abalkiss@redhat.com> | 2005-11-16 16:35:23 +0000 |
---|---|---|
committer | Anthony Balkissoon <abalkiss@redhat.com> | 2005-11-16 16:35:23 +0000 |
commit | 65cafbc0c7ee254198137db0bb37d92122fca5a5 (patch) | |
tree | bfb72ca7dc297b12856b8b06fb7b313aa028c86c | |
parent | 3ef32d770da46ff87782c9606fb9fff755a96cbf (diff) | |
download | classpath-65cafbc0c7ee254198137db0bb37d92122fca5a5.tar.gz |
2005-11-16 Anthony Balkissoon <abalkiss@redhat.com>
* javax/swing/text/PlainDocument.java:
(insertUpdate): The very first new element added doesn't start at the
start of the event, it starts at the start offset of the Element that
contains the start of the event.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | javax/swing/text/PlainDocument.java | 7 |
2 files changed, 11 insertions, 3 deletions
@@ -1,3 +1,10 @@ +2005-11-16 Anthony Balkissoon <abalkiss@redhat.com> + + * javax/swing/text/PlainDocument.java: + (insertUpdate): The very first new element added doesn't start at the + start of the event, it starts at the start offset of the Element that + contains the start of the event. + 2005-11-15 Roman Kennke <kennke@aicas.com> * javax/swing/plaf/basic/BasicMenuItemUI.java diff --git a/javax/swing/text/PlainDocument.java b/javax/swing/text/PlainDocument.java index 34b9f3bc6..bed40e4ca 100644 --- a/javax/swing/text/PlainDocument.java +++ b/javax/swing/text/PlainDocument.java @@ -111,6 +111,7 @@ public class PlainDocument extends AbstractDocument int offset = event.getOffset(); int end = offset + event.getLength(); int elementIndex = rootElement.getElementIndex(offset); + Element firstElement = rootElement.getElement(elementIndex); // added and removed are Element arrays used to add an ElementEdit // to the DocumentEvent if there were entire lines added or removed. @@ -123,8 +124,8 @@ public class PlainDocument extends AbstractDocument // Determine how many NEW lines were added by finding the newline // characters within the newly inserted text - int j = offset; - int i = str.indexOf('\n', j); + int j = firstElement.getStartOffset(); + int i = str.indexOf('\n', offset); while (i != -1 && i <= end) { // For each new line, create a new element @@ -145,7 +146,7 @@ public class PlainDocument extends AbstractDocument added = new Element[elts.size()]; for (int k = 0; k < elts.size(); ++k) added[k] = (Element) elts.get(k); - removed[0] = rootElement.getElement(elementIndex); + removed[0] = firstElement; // Now create and add the ElementEdit ElementEdit e = new ElementEdit(rootElement, elementIndex, removed, |