Merge branch 'Plasma/5.14'

icc-effect-5.17.5
Vlad Zagorodniy 2018-10-11 17:52:47 +03:00
commit 8971af19e3
3 changed files with 13 additions and 1 deletions

View File

@ -372,6 +372,12 @@ void DimInactiveEffect::windowClosed(EffectWindow *w)
void DimInactiveEffect::windowDeleted(EffectWindow *w)
{
m_forceDim.remove(w);
// FIXME: Sometimes we can miss the window close signal because KWin
// can activate a window that is not ready for painting and the window
// gets destroyed immediately. So, we have to remove active transitions
// for that window here, otherwise we'll crash in postPaintScreen.
m_transitions.remove(w);
}
void DimInactiveEffect::activeFullScreenEffectChanged()

View File

@ -205,11 +205,17 @@ QPlatformOpenGLContext *Integration::createPlatformOpenGLContext(QOpenGLContext
void Integration::initScreens()
{
QVector<Screen*> newScreens;
newScreens.reserve(qMax(screens()->count(), 1));
for (int i = 0; i < screens()->count(); i++) {
auto screen = new Screen(i);
screenAdded(screen);
newScreens << screen;
}
if (newScreens.isEmpty()) {
auto dummyScreen = new Screen(-1);
screenAdded(dummyScreen);
newScreens << dummyScreen;
}
while (!m_screens.isEmpty()) {
destroyScreen(m_screens.takeLast());
}

View File

@ -178,7 +178,7 @@ void UserActionsMenu::show(const QRect &pos, const QWeakPointer<AbstractClient>
}
}
if (!m_client.isNull())
m_client.data()->blockActivityUpdates(true);
m_client.data()->blockActivityUpdates(false);
}
}