Fix: remove listener

Add the operation for removing the listener form listener list

Change-Id: Ief2ff1303b607eee499543303fe80e51f8f10cc5
Reviewed-by: David Edmundson <davidedmundson@kde.org>
This commit is contained in:
Zhang Liang 2021-02-01 19:29:43 +08:00
parent 9fd8a5cfb0
commit a79dbb8359

View File

@ -447,9 +447,10 @@ void QWaylandDisplay::addRegistryListener(RegistryListener listener, void *data)
void QWaylandDisplay::removeListener(RegistryListener listener, void *data) void QWaylandDisplay::removeListener(RegistryListener listener, void *data)
{ {
std::remove_if(mRegistryListeners.begin(), mRegistryListeners.end(), [=](Listener l){ auto iter = std::remove_if(mRegistryListeners.begin(), mRegistryListeners.end(), [=](Listener l){
return (l.listener == listener && l.data == data); return (l.listener == listener && l.data == data);
}); });
mRegistryListeners.erase(iter, mRegistryListeners.end());
} }
uint32_t QWaylandDisplay::currentTimeMillisec() uint32_t QWaylandDisplay::currentTimeMillisec()