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
wilder
Fushan Wen 4 years ago
parent 9c7ac7061c
commit eb3483123e
  1. 14
      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);

Loading…
Cancel
Save