Skip to content
  • Vlad Zahorodnii's avatar
    Safely remove all internal clients and override-redirect windows · 08263b53
    Vlad Zahorodnii authored
    When we destroy all internal clients and override-redirect windows, we
    assume that corresponding lists will be implicitly detached.
    
    However, in some cases, that might be not the case. For example, if the
    list is not shared, neither begin() nor end() will detach. Therefore, it
    is possible to hit invalidated iterators if the list is modified inside
    the loop.
    
    This change prevents hitting invalidated iterators by making explicit
    list copies.
    
    CCBUG: 427373
    08263b53