This should hopefully fix #309093. I think a similar behaviour in wrapLine could also be needed.
The the cause of the crash was: 1: if (......) { 2: ......; 3: ......; 4: } else if { .... 5: ..... If the text from infront of the first if to just infront of the second if got deleted a line unwrapping action took place The kate buffer just kept the { of line 1 and removed the information about the } { in line 4 during unwrapping, without triggering a tree update. 1: if { .... 2: ..... When doing highlighting again it found again that the new block had a single { in the new line 1, therefore it triggered a column only update within the folding tree. The tree on the other hand thought that it still had two region changes in the now new line 1 and tried to update all columns as being told by the buffer, but the information it got from the highlighting system containd only one opening region -> access to an elemnt in the vector that was out of bounds -> assert/crash Now unwrapping just joins the region changes of the involved lines and the tree checks if the lenghtes of the vectors matche, so it should always do a complete update of the meta information if needed BUG: 309093
parent
b51f7058
Please register or sign in to comment