From eb3483123ea238d8faf7fcb1081f0175b7655f0a Mon Sep 17 00:00:00 2001 From: Fushan Wen Date: Fri, 16 Sep 2022 21:58:16 +0800 Subject: [PATCH] wallpapers/image: fix wrong usage of `std::bind` `m_virtualDesktopInfo->currentDesktop()` will be regarded as a static value in `std::bind`, which prevents the current desktop from being updated, so use lambda instead. BUG: 459199 FIXED-IN: 5.26 --- .../image/plugin/utils/maximizedwindowmonitor.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/wallpapers/image/plugin/utils/maximizedwindowmonitor.cpp b/wallpapers/image/plugin/utils/maximizedwindowmonitor.cpp index 9a9df9731..32495d8de 100644 --- a/wallpapers/image/plugin/utils/maximizedwindowmonitor.cpp +++ b/wallpapers/image/plugin/utils/maximizedwindowmonitor.cpp @@ -50,16 +50,14 @@ void MaximizedWindowMonitor::Private::init() q->setGroupMode(GroupMode::GroupDisabled); q->setActivity(m_activityInfo->currentActivity()); - q->connect(m_activityInfo, - &TaskManager::ActivityInfo::currentActivityChanged, - q, - std::bind(&MaximizedWindowMonitor::setActivity, q, m_activityInfo->currentActivity())); + q->connect(m_activityInfo, &TaskManager::ActivityInfo::currentActivityChanged, q, [this] { + q->setActivity(m_activityInfo->currentActivity()); + }); q->setVirtualDesktop(m_virtualDesktopInfo->currentDesktop()); - q->connect(m_virtualDesktopInfo, - &TaskManager::VirtualDesktopInfo::currentDesktopChanged, - q, - std::bind(&MaximizedWindowMonitor::setVirtualDesktop, q, m_virtualDesktopInfo->currentDesktop())); + q->connect(m_virtualDesktopInfo, &TaskManager::VirtualDesktopInfo::currentDesktopChanged, q, [this]() { + q->setVirtualDesktop(m_virtualDesktopInfo->currentDesktop()); + }); q->setFilterByActivity(true); q->setFilterByVirtualDesktop(true);