Bug 437079 - PlatformThemeData inheritance is not atomic
Summary: PlatformThemeData inheritance is not atomic
Status: REPORTED
Alias: None
Product: frameworks-kirigami
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: Master
Platform: Other Linux
: NOR normal
Target Milestone: Not decided
Assignee: Marco Martin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-14 10:53 UTC by David Edmundson
Modified: 2021-05-18 20:23 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Edmundson 2021-05-14 10:53:27 UTC
QMetaObject::invokeMethod(
            theme,
            [this, theme]() {
                pendingChildUpdate = false;
                theme->updateChildren(theme->parent());
            },
            Qt::QueuedConnection);

This means that you can change the palette and potentially render a frame with half the palette out of sync.

"Event compression" is just a thing that causes difficult bugs and wastes lots of time.

If we're worried about the cost of calling setXyzColor a tonne of times indepdendently we should make the colours a separate object that can be set atomically.