test: Nudge toward QT_STYLE_OVERRIDE=fusion on macOS#951
Conversation
Using the Fusion style works around QTBUG-49686. Otherwise, there could be a nullptr-deref under the QMacStyle.
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline and AI policy for information on the review process.
If your review is incorrectly listed, please copy-paste |
|
Concept ACK. My current WIP branch also uses style overriding. |
|
So far, this bug has only been reproduced when Qt plugins are linked statically. Unfortunately, this configuration is not covered by CI. |
| #ifdef Q_OS_MACOS | ||
| // QMacStyle assumes a Cocoa platform window, which the minimal platform | ||
| // does not provide. In particular, painting a QGroupBox can make Qt call | ||
| // addSubview: on an invalid native object (QTBUG-49686). |
There was a problem hiding this comment.
Are you sure that QTBUG-49686 is a good reference? Asking because it doesn't mention styles at all.
There was a problem hiding this comment.
Yeah, the issue is specific in the title, but the general issue is that a bunch of the code assumes Cocoa, and then throws/aborts/crashes when that assumption is violated with the Minimal platform plugin.
|
Mind checking whether this PR resolves bitcoin/bitcoin#35771 for you? |
|
CI failure looks unrelated: |
Apparently, @willcl-ark is working in that: bitcoin/bitcoin#35774. |
The tests pass with this change. |
|
🚧 At least one of the CI tasks failed. HintsTry to run the tests locally, according to the documentation. However, a CI failure may still
Leave a comment here, if you need help tracking down a confusing failure. |
Fixes bitcoin/bitcoin#35771
Using the Fusion style works around QTBUG-49686.
Otherwise, there could be an invalid call under the QMacStyle.
Can be tested via: