summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorZhang Liang <zhanglianga@uniontech.com>2021-02-01 19:29:43 +0800
committerZhang Liang <zhanglianga@uniontech.com>2021-02-02 15:47:07 +0800
commit16760280fd04cf70255bab16d9acecad254fdd8f (patch)
tree985f03301cd4dd5c354d2a8a956222cd431fbbe1 /src
parent53b7433144a3edd4974c9f25cf22f5f6f4ec5d49 (diff)
Fix: remove listener
Add the operation for removing the listener form listener list Change-Id: Ief2ff1303b607eee499543303fe80e51f8f10cc5 Reviewed-by: David Edmundson <davidedmundson@kde.org>
Diffstat (limited to 'src')
-rw-r--r--src/client/qwaylanddisplay.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
index d39b25697..82dcc63e0 100644
--- a/src/client/qwaylanddisplay.cpp
+++ b/src/client/qwaylanddisplay.cpp
@@ -447,9 +447,10 @@ void QWaylandDisplay::addRegistryListener(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);
});
+ mRegistryListeners.erase(iter, mRegistryListeners.end());
}
uint32_t QWaylandDisplay::currentTimeMillisec()