Fixed handling of paragraph terminators
diff --git a/textLayout/src/flashx/textLayout/elements/ParagraphElement.as b/textLayout/src/flashx/textLayout/elements/ParagraphElement.as
index 2e8cd33..b6121bd 100644
--- a/textLayout/src/flashx/textLayout/elements/ParagraphElement.as
+++ b/textLayout/src/flashx/textLayout/elements/ParagraphElement.as
@@ -624,6 +624,13 @@
/** @private */
tlf_internal function ensureTerminatorAfterReplace():void
{
+ //lose reference to terminator if it was removed or not a direct child.
+ if(_terminatorSpan && _terminatorSpan.parent != this)
+ {
+ _terminatorSpan.removeParaTerminator();
+ _terminatorSpan = null;
+ }
+
var newLastLeaf:FlowLeafElement = getLastLeaf();
if (_terminatorSpan != newLastLeaf)
{
@@ -661,7 +668,7 @@
if(_terminatorSpan && _terminatorSpan.textLength == 1)
{
var prev:FlowLeafElement = _terminatorSpan.getPreviousLeaf(this);
- if(prev && prev is SpanElement)
+ if(prev && prev.parent == this && prev is SpanElement)
{
_terminatorSpan.removeParaTerminator();
termIdx = getChildIndex(_terminatorSpan);