Skip to content
  • Frank Reininghaus's avatar
    Fix crashes in KFileItemModel::removeItems() · 8a8854a7
    Frank Reininghaus authored
    These crashes were caused by the recent commit
    ff3267c6. It introduced two problems:
    
    a) A logic error in the code that removes the ItemData pointers from
       m_itemData that could cause crashes if multiple item ranges are
       removed, and there were un-removed items behind the last one.
    b) The implicit assumption that any call of removeItems() will actually
       result in items being removed in the model. This is incorrect if
       the model is first cleared and then the hidden-files setting is
       modified, which happens if "Save view properties for each folder" is
       enabled, and a folder where hidden files are shown is left. In that
       case, the dir lister emits itemsDeleted for the hidden items after
       they have been removed from the model due to the folder change.
    
    I'll add a unit test covering these issues soon.
    
    Many thanks to Romário Rios and Hrvoje Senjan for testing!
    
    BUG: 314046
    8a8854a7