summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Balkissoon <abalkiss@redhat.com>2005-11-16 16:35:23 +0000
committerAnthony Balkissoon <abalkiss@redhat.com>2005-11-16 16:35:23 +0000
commit65cafbc0c7ee254198137db0bb37d92122fca5a5 (patch)
treebfb72ca7dc297b12856b8b06fb7b313aa028c86c
parent3ef32d770da46ff87782c9606fb9fff755a96cbf (diff)
downloadclasspath-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--ChangeLog7
-rw-r--r--javax/swing/text/PlainDocument.java7
2 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 49f23f7a5..99f7c9822 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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,