Skip to content

remove qdarkstyle, run unittest offscreen and test pyside6 - #191

Open
paskino wants to merge 3 commits into
mainfrom
remove-qdarkstyle
Open

paskino wants to merge 3 commits into
mainfrom
remove-qdarkstyle

Conversation

@paskino

@paskino paskino commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

A finished Worker is released only when the next Worker is created, or never if no more are created.

Before: Qt deleted the QRunnable right after run() returned, on the pool thread leading to a segfault.
Now: Qt never deletes it. Python keeps it in _active_workers after run() sets _done = True. It is dropped from the main thread inside Worker.__init__, the next time any Worker is created. Memory is released by calling _release_payload once the Worker has finished (in finally, eg however it ends).
At interpreter exit the leftover workers are cleaned up in the main thread, which is safe.

delete workers that have finished to prevent destroy race conditions. This arose with pyside6

remove comment and use method for release payload

added to changelog
@paskino paskino mentioned this pull request Oct 26, 2026
3 tasks done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PySide6 exposes race condition qdarkstyle has not been updated since 2023

1 participant