Summary: | Plasma Virtual Keyboard + Sliding Popups effect leaves artifacts on the panel | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | David Edmundson <kde> |
Component: | effects-various | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | espidev, nate |
Priority: | HI | ||
Version First Reported In: | 6.5.80 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/kwin/-/commit/fef062cbfe4197ee9460f3491131134962ceaa27 | Version Fixed In: | |
Sentry Crash Report: |
Description
David Edmundson
2025-10-03 12:42:55 UTC
Marking high as it will affect the reputation of plasma-keyboard which will have a preview release before Plasma 6.6 *** Bug 509616 has been marked as a duplicate of this bug. *** void SlidingPopupsEffect::postPaintWindow(EffectWindow *w) { auto animationIt = m_animations.find(w); if (animationIt != m_animations.end()) { effects->addRepaint(w->expandedGeometry()); I would expect this to need to take the translation of the slide into affect. Though if it is that, I don't see why it's unique to the virtual keyboard. I just ported SlidingPopups to a build off AnimationEffect and the bug went away. However just as I finished, I figured out we probably don't use AnimationEffect because there's some logic in here to also clip to the screen geometry. Will have to do a manual fix. A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/8196 Git commit a17800d4adbb5c1a1c2357b740deadd8d01bf92c by David Edmundson. Committed on 07/10/2025 at 21:13. Pushed by davidedmundson into branch 'master'. plugins/slidingpopups: Adjust repaint region to match animation When a window moves, we need to repaint the area the window was in on the next frame. The current code repaints the final position of a window which works enough when it's touching a screen edge, but not for cases like the onscreen keyboard that goes over the panel. M +30 -11 src/plugins/slidingpopups/slidingpopups.cpp M +2 -0 src/plugins/slidingpopups/slidingpopups.h https://invent.kde.org/plasma/kwin/-/commit/a17800d4adbb5c1a1c2357b740deadd8d01bf92c Git commit fef062cbfe4197ee9460f3491131134962ceaa27 by Nate Graham. Committed on 07/10/2025 at 22:27. Pushed by ngraham into branch 'Plasma/6.5'. plugins/slidingpopups: Adjust repaint region to match animation When a window moves, we need to repaint the area the window was in on the next frame. The current code repaints the final position of a window which works enough when it's touching a screen edge, but not for cases like the onscreen keyboard that goes over the panel. (cherry picked from commit a17800d4adbb5c1a1c2357b740deadd8d01bf92c) a17800d4 plugins/slidingpopups: Adjust repaint region to match animation Co-authored-by: David Edmundson <kde@davidedmundson.co.uk> M +30 -11 src/plugins/slidingpopups/slidingpopups.cpp M +2 -0 src/plugins/slidingpopups/slidingpopups.h https://invent.kde.org/plasma/kwin/-/commit/fef062cbfe4197ee9460f3491131134962ceaa27 |