From 95ee052442991e99981c9e5f7a6ed6ed115b5aab Mon Sep 17 00:00:00 2001 From: Vlad Zagorodniy Date: Fri, 25 May 2018 19:49:44 +0300 Subject: [PATCH] [effects/blur] Lookup window once when disconnecting from blurChanged Summary: When disconnecting from `blurChanged` signal, `(w, connection)` pair is being looked up three times. We can do better by using `QMap` in a more STL-like way. Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D13118 --- effects/blur/blur.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/effects/blur/blur.cpp b/effects/blur/blur.cpp index 4da149b06b..3d3300878f 100644 --- a/effects/blur/blur.cpp +++ b/effects/blur/blur.cpp @@ -303,10 +303,12 @@ void BlurEffect::slotWindowAdded(EffectWindow *w) void BlurEffect::slotWindowDeleted(EffectWindow *w) { - if (windowBlurChangedConnections.contains(w)) { - disconnect(windowBlurChangedConnections[w]); - windowBlurChangedConnections.remove(w); + auto it = windowBlurChangedConnections.find(w); + if (it == windowBlurChangedConnections.end()) { + return; } + disconnect(*it); + windowBlurChangedConnections.erase(it); } void BlurEffect::slotPropertyNotify(EffectWindow *w, long atom)