[effects/slide] Completely delete forced roles

Summary:
The slide effect doesn't completely remove forced blur and background
contrast roles. According to `EffectWindow::setData` implementation,

```lang=cpp
void EffectWindowImpl::setData(int role, const QVariant &data)
{
    if (!data.isNull())
        dataMap[ role ] = data;
    else
        dataMap.remove(role);
    emit effects->windowDataChanged(this, role);
}
```

in order to delete previously set data, we should pass a null variant.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13470
This commit is contained in:
Vlad Zagorodniy 2018-06-10 23:39:22 +03:00
parent 1a1845b7d7
commit e38ecfcbcf

View file

@ -456,12 +456,12 @@ void SlideEffect::start(int old, int current, EffectWindow* movingWindow)
void SlideEffect::stop()
{
for (EffectWindow* w : m_forcedRoles.blur) {
w->setData(WindowForceBlurRole, QVariant(false));
w->setData(WindowForceBlurRole, QVariant());
}
m_forcedRoles.blur.clear();
for (EffectWindow* w : m_forcedRoles.backgroundContrast) {
w->setData(WindowForceBackgroundContrastRole, QVariant(false));
w->setData(WindowForceBackgroundContrastRole, QVariant());
}
m_forcedRoles.backgroundContrast.clear();