there were several issues - see rev 87aa1e0fcb086d82243e517310c192a049275582 and the one before for defatils.
essentially, a loop trying to make room for text being added was not finding enough lines to strip off and was therefore running infinitely.
I've also fixed scolling in the process, which I am guessing had never been tested in this particular edge case.
to testers: feel free to play with dwt/test/RichTextBoxTest.cpp - interesting combinations to test these cases:
* REPEATED_TEXT = L"ABC\n"; REPEAT_COUNT = 16384;
* REPEATED_TEXT = L"A\n"; REPEAT_COUNT = 16384;
* REPEATED_TEXT = L"\n"; REPEAT_COUNT = 16384;
* REPEATED_TEXT = L"AAABBB"; REPEAT_COUNT = 16384;
there were several issues - see rev 87aa1e0fcb086d8 2243e517310c192 a049275582 and the one before for defatils.
essentially, a loop trying to make room for text being added was not finding enough lines to strip off and was therefore running infinitely.
I've also fixed scolling in the process, which I am guessing had never been tested in this particular edge case.
to testers: feel free to play with dwt/test/ RichTextBoxTest .cpp - interesting combinations to test these cases:
* REPEATED_TEXT = L"ABC\n"; REPEAT_COUNT = 16384;
* REPEATED_TEXT = L"A\n"; REPEAT_COUNT = 16384;
* REPEATED_TEXT = L"\n"; REPEAT_COUNT = 16384;
* REPEATED_TEXT = L"AAABBB"; REPEAT_COUNT = 16384;