Revert "Revert "wayland: Update shadow immediately""

This reverts commit 08e392f368.

It appears like with RHI, user code can't mess with its current opengl
context, so let's update shadows immediately.

Just to be sure, shadow cleanup logic in ShadowItem has been hardened to
avoid disturbing the current opengl context unnecessarily.

BUG: 467926
This commit is contained in:
Vlad Zahorodnii 2023-03-31 09:41:01 +03:00
parent 072d5ff045
commit 4578cf352b

View file

@ -113,10 +113,7 @@ bool InternalWindow::eventFilter(QObject *watched, QEvent *event)
setSkipCloseAnimation(m_handle->property(s_skipClosePropertyName).toBool());
}
if (pe->propertyName() == s_shadowEnabledPropertyName) {
// Some dialog e.g. Plasma::Dialog may update shadow in the middle of rendering.
// The opengl context changed by updateShadow may break the QML Window rendering
// and cause crash.
QMetaObject::invokeMethod(this, &InternalWindow::updateShadow, Qt::QueuedConnection);
updateShadow();
}
if (pe->propertyName() == "kwin_windowType") {
m_windowType = m_handle->property("kwin_windowType").value<NET::WindowType>();