Skip to content
  • Frank Reininghaus's avatar
    Make sure that KItemListSizeHintResolver is always consistent · 786cea00
    Frank Reininghaus authored
    This was the root cause of bug 317827. The assert tried to make sure
    that we never access KItemListSizeHintResolver from
    KItemListViewLayouter inside the loop over the item ranges. This would
    be dangerous because it might be in an inconsistent state - the removed
    item ranges were removed step by step, so accessing the item size hints
    before the operation was finished could lead to wrong results.
    
    The solution is to insert/remove all item ranges immediately. A nice
    side effect is that there are no sources of O(N^2) complexity in
    KItemListSizeHintResolver any more if many item ranges are
    inserted/removed.
    
    BUG: 317827
    FIXED-IN: 4.11.0
    REVIEW: 111382
    786cea00