Fix:解决Pc切换平板模式,kwin崩溃的问题

This commit is contained in:
liling 2022-12-12 16:52:00 +08:00
parent 7d526098a3
commit 52731ace8f
3 changed files with 20 additions and 22 deletions

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
kwin (4:5.24.4-ok6~1212) yangtze; urgency=medium
* Fix the problem that kwin crashes when the system mode changes
-- liling <liling@kylinos.cn> Mon, 12 Dec 2022 16:56:04 +0800
kwin (4:5.24.4-ok6~1207) yangtze; urgency=medium
* fix blur effect on the window corner

View File

@ -278,26 +278,22 @@ void EffectsHandlerImpl::setDesktopHide(const QString &desktopName)
m_desktopName = desktopName;
auto list = Workspace::self()->stackingOrder();
for (auto window : list) {
if (!window->isDeleted()) {
auto win = qobject_cast<AbstractClient *> (window);
if (win->isDesktop()) {
if (TabletManager::self()->tabletMode()) {
if (win->caption() == "ukui-tablet-desktop") {
win->showClient();
} else {
win->hideClient();
}
for (const auto& win : Workspace::self()->allClientList()) {
if (win->isDesktop()) {
if (TabletManager::self()->tabletMode()) {
if (win->caption() == "ukui-tablet-desktop") {
win->showClient();
} else {
if (win->caption() == "ukui-tablet-desktop") {
win->hideClient();
} else {
win->showClient();
}
win->hideClient();
}
}
}
} else {
if (win->caption() == "ukui-tablet-desktop") {
win->hideClient();
} else {
win->showClient();
}
}
}
}
Q_EMIT desktopAppearAnimatestart();
}

View File

@ -267,10 +267,6 @@ void GestureFollowInputFilter::touchMotion(qint32 id, const QPointF &pos, quint3
desktopOpacityAnimation(pos.y());
}
#ifndef QT_NO_DEBUG
qDebug() << "当前手指的位置:" << pos.y() << "唤起多任务视图临近值: " << m_YcriticalValue
<< "任务栏初始位置:" << m_panelOriginYCoordinate;
#endif
if (pos.y() > m_YcriticalValue && m_startGestureFollow && m_gestureFollowWindow != nullptr) {
if(pos.y() > m_panelOriginYCoordinate) {