From 9e98a6386d32fa7dbbe3c19ccfe749a05d836396 Mon Sep 17 00:00:00 2001 From: Bruno Alexandre Rosa <1791393+brunoalr@users.noreply.github.com> Date: Mon, 9 Nov 2026 07:53:17 -0300 Subject: [PATCH] Fill the home buttons' outlined text with the winding rule The Home tab buttons draw their label as a QPainterPath: a black stroke, then a white fill. Upstream #7539 (2026-11-04) moved the label from the stylesheet's sans-serif/Helvetica Neue to the theme's InterfaceDefault font, which on macOS is the system font, SF Pro. Its glyph outlines have overlapping contours, and QPainterPath fills with Qt::OddEvenFill by default, so every overlap stayed unfilled and showed the black stroke underneath as dark notches inside the letters. The same symptom was upstream issue 6490, fixed in January for the old font. Qt::WindingFill fills overlapping contours. Checked on macOS with Homebrew Qt 6.12: the notches are gone. --- cockatrice/src/interface/widgets/general/home_styled_button.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/cockatrice/src/interface/widgets/general/home_styled_button.cpp b/cockatrice/src/interface/widgets/general/home_styled_button.cpp index a2ac7912d..28d200a7b 100644 --- a/cockatrice/src/interface/widgets/general/home_styled_button.cpp +++ b/cockatrice/src/interface/widgets/general/home_styled_button.cpp @@ -118,6 +118,7 @@ void HomeStyledButton::paintEvent(QPaintEvent *event) QPainterPath path; path.addText(center, font(), text()); + path.setFillRule(Qt::WindingFill); QPen pen(Qt::black, 4.0, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin); painter.strokePath(path, pen);