Summary: | Kolourpaint crashes when opening "More effects" window | ||
---|---|---|---|
Product: | [Plasma] Breeze | Reporter: | Kai Uwe Broulik <kde> |
Component: | QStyle | Assignee: | Janet Blackquill <uhhadd> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | kde, nate |
Priority: | VHI | Keywords: | regression |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/breeze/commit/3be21543a75e747862f3a2a5f876d23e9f66f13a | Version Fixed In: | 5.21 |
Sentry Crash Report: |
Description
Kai Uwe Broulik
2020-10-03 22:19:43 UTC
It appears to be const_cast<QDialog*>(dialog)->setContentsMargins(margins.left(), qMax(margins.top(), 1), margins.right(), margins.bottom()); It changes the content margins which probably causes the preview to repaint in response to a change of available area. Imho it's quite bad to tamper with widgets like this in the paint pass. Isn't polish meant to be used for such preparation? Carson, please investigate. A possibly relevant merge request was started @ https://invent.kde.org/plasma/breeze/-/merge_requests/47 A possibly relevant merge request was started @ https://invent.kde.org/plasma/breeze/-/merge_requests/48 Git commit 3be21543a75e747862f3a2a5f876d23e9f66f13a by Nate Graham, on behalf of David Edmundson. Committed on 19/11/2020 at 18:54. Pushed by ngraham into branch 'master'. Move dialog margin settings to polish event Paint events MUST not change the state of things. This is especially important within style code that is used in many apps that we do not control. Doing it in polish is better. It's still not ideal to adjust geometry in the style, but at least this is where we have a similar hook for QDockWidget so hopefully we know this pattern is acceptable. M +11 -3 kstyle/breezestyle.cpp https://invent.kde.org/plasma/breeze/commit/3be21543a75e747862f3a2a5f876d23e9f66f13a |