Skip to content
  • Martin Flöser's avatar
    [server] Reduce overhead of pointersForSurface · 1c6c2ee2
    Martin Flöser authored
    Summary:
    In SeatInterface we need to get all PointerInterfaces related to a given
    Surface (Client) and call a method on it. The implementation we had so
    far went through all Pointers and put all PointerInterfaces into a new
    temporary QVector. In most cases all we did then was iterating over the
    returned vector.
    
    Which means we created a temporary vector for nothing.
    
    This change implements a kind of std::for_each with the constraints of
    the previously used pointersForSurface which does the check that Surface
    is not null and that the client matches. If a PointerInterface is found
    for that, the passed in method is invoked on it.
    
    Reviewers: #plasma_on_wayland
    
    Subscribers: plasma-devel
    
    Tags: #plasma_on_wayland
    
    Differential Revision: https://phabricator.kde.org/D3295
    1c6c2ee2