graesslin created this revision. graesslin added a reviewer: Plasma on Wayland. Restricted Application added a subscriber: plasma-devel. Restricted Application added a project: Plasma on Wayland.
REVISION 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. REPOSITORY rKWAYLAND KWayland BRANCH pointers-for-surface-overhead REVISION DETAIL https://phabricator.kde.org/D3295 AFFECTED FILES src/server/seat_interface.cpp EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: graesslin, #plasma_on_wayland Cc: plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas