Fix Windows CI build and start-page theme colors (Qt 6.7.3)#976
Open
Nicolas01 wants to merge 6 commits into
Open
Fix Windows CI build and start-page theme colors (Qt 6.7.3)#976Nicolas01 wants to merge 6 commits into
Nicolas01 wants to merge 6 commits into
Conversation
added 5 commits
June 15, 2026 20:27
1f8121e to
db5e00e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The Windows CI build (
build win64) had been failing onmasterfor a long stretch, while Linux and macOS passed. The failure was a Qt header error during compilation ofsrc/cli/Installer.cpp:Root cause
The CI matrix pinned Qt 6.6.0 but runs on
windows-latest, which GitHub rolled forward to the VS2026 / Windows Server 2025 image. Recent MSVC STL versions removed the Microsoftstdext::*array-iterator extension that Qt 6.6.0'sqvarlengtharray.hstill references underQ_CC_MSVC. Only MSVC enters that code path, which is why Linux (GCC) and macOS (clang) were unaffected. This is environment bit-rot, not a code regression.Fix
Bump the CI Qt version
6.6.0->6.7.3(thestdextusage was removed from Qt in 6.6.2). Validating that bump on a fork surfaced several further incompatibilities with Qt 6.7 and the current runner images, each fixed here:stdextbuild error — bump Qt to 6.7.3.gcc_64->linux_gcc_64.Configurefailure —QWindowsVistaStylePluginwas renamed toQModernWindowsStylePluginin Qt 6.7. Also made thepack/plugin loop skip a missing target on all platforms (previously it onlycontinue()d on UNIX/APPLE, so a missing target hard-failed configure on Windows).Configurefailure —Qt6PrintSupportnow needs CUPS on Ubuntu 24.04; installlibcups2-dev.linux_gcc_64package but extracts it togcc_64, so the hand-builtQTDIRpointed at a nonexistent dir; use theQT_ROOT_DIRexported byinstall-qt-action.publishjob —gh releasefailed withnot a git repositorybecause the job has no checkout; pass--repo ${{ github.repository }}.Windows theme regression fix
With the Windows build restored, the produced app showed unreadable white-on-white text on the start page (the "theme bug" that previously led to the Windows
.exebeing dropped from releases).Root cause: on Windows,
Applicationsets an explicit base palette (setPalette(style()->standardPalette())) before installing the theme style. Qt then treats that palette as user-defined and does not re-polish it onsetStyle(), so the theme's palette remaps (notablyBrightText, used by the start-page buttons) are lost. The start page draws its button text withpalette(bright-text)over aBase(white) background, giving white-on-white.Fix: after
setStyle(), polish the application palette through the style ourselves and re-apply it (Windows only). This re-runs each theme'spolish(), restoring the correct colors for all themes (System, Default, Dark). Verified visually on a packaged Windows build across the three themes.Validation
Validated on a fork by pushing to its
master(which exercises the full matrix incl.publish). All builds are green: Linux, macOS, Windows, Flatpak, Formatting, with 27/27 unit tests passing on Linux. The packaged Windows app was extracted and run to confirm the start page renders correctly in all three themes.