bug 277695: Fix assertion on empty textareas by ensuring that mTextValue.Rebind() is called at least once. r+sr=bzbarsky

This commit is contained in:
mrbkap%gmail.com 2005-01-13 02:56:56 +00:00
Родитель 815fafdbf9
Коммит 2b5f2bf54b
1 изменённых файлов: 5 добавлений и 3 удалений

Просмотреть файл

@ -815,7 +815,7 @@ nsresult CTextToken::ConsumeParsedCharacterData(PRUnichar aChar,
}; };
static const nsReadEndCondition theEndCondition(terminalChars); static const nsReadEndCondition theEndCondition(terminalChars);
nsScannerIterator currPos,endPos,altEndPos; nsScannerIterator currPos, endPos, altEndPos;
PRUint32 truncPos = 0; PRUint32 truncPos = 0;
aScanner.CurrentPosition(currPos); aScanner.CurrentPosition(currPos);
aScanner.EndReading(endPos); aScanner.EndReading(endPos);
@ -833,7 +833,9 @@ nsresult CTextToken::ConsumeParsedCharacterData(PRUnichar aChar,
nsresult result = NS_OK; nsresult result = NS_OK;
while (currPos != endPos) { // Note that if we're already at the end of the document, the ConsumeUntil
// will fail, and we'll do the right thing.
do {
result = ConsumeUntil(theContent, mNewlineCount, aScanner, result = ConsumeUntil(theContent, mNewlineCount, aScanner,
theEndCondition, PR_TRUE, aFlag); theEndCondition, PR_TRUE, aFlag);
@ -915,7 +917,7 @@ nsresult CTextToken::ConsumeParsedCharacterData(PRUnichar aChar,
// We did not find the terminal string yet so // We did not find the terminal string yet so
// include the character that stopped consumption. // include the character that stopped consumption.
theContent.writable().Append(ch); theContent.writable().Append(ch);
} } while (currPos != endPos);
return result; return result;
} }