Skip to content
  • Vlad Zahorodnii's avatar
    Improve readability of code that destroys frame callback resources · eaa135ee
    Vlad Zahorodnii authored
    If a frame callback resource is destroyed, it will unregister itself
    from corresponding lists in current, pending, and cached state.
    
    However, this means that we need to be super duper careful when the
    compositor wants to destroy all frame callbacks. We need to make a copy
    of a frameCallbacks list; otherwise a call to removeOne() will
    invalidate iterators and the compositor may crash.
    
    Currently, that copy is made implicitly. Some people may see that code
    and add qAsConst() without realizing the consequences it will lead to.
    
    This change improves the readability of that code by making explicit
    copies of frameCallbacks in code that shuts down SurfaceInterface.
    
    
    (cherry picked from commit 94730634)
    eaa135ee