devopsinthecloud icon indicating copy to clipboard operation
devopsinthecloud copied to clipboard

Fixed possible range mutation of the same attribute

Open arielpollack opened this issue 3 years ago • 0 comments

UITextView can split an NSAttributedString and set new font attribute if some substring has a different language which needs another font (for example when the mention include both English and Korean, the Korean substring will have another font attribute then the default one set to that UITextView). After the "split", each substring still had the same pointer to the same HKWMentionsAttribute, which repeatedly changed its range to the latest, and then made the buffer include the same HKWMentionsAttribute pointer multiple times and prevented access to all mention attributes.

Here I just created a new attribute and set the range to it, so at least we can iterate all ranges and decide if we want to merge or not, depending on the use case.

arielpollack avatar Oct 10 '21 19:10 arielpollack