https://bugs.kde.org/show_bug.cgi?id=522737

Filip Fila <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/oxygen/-/commit/46f41ca1
                   |                            |399e75f355aa11ea9df4f8febb7
                   |                            |37c56
             Status|CONFIRMED                   |RESOLVED
         Resolution|---                         |FIXED
            Version|                            |6.8.0
  Fixed/Implemented|                            |
                 In|                            |

--- Comment #6 from Filip Fila <[email protected]> ---
Git commit 46f41ca1399e75f355aa11ea9df4f8febb737c56 by Filip Fila.
Committed on 08/09/2026 at 13:00.
Pushed by filipf into branch 'master'.

Fix choppy cached pixmap/icon rendering under fractional Wayland scaling

If we fire up almost any QtQuick app with Oxygen while using fractional
scaling, we'll soon spot rendering glitches and choppiness.

The glitches can be observed with: radio buttons, slider handles, and icons
inside buttons.

These issues are related to pixmaps. Oxygen tends to cache them for rendering
UI elements, but it never saved the DPR.
Also, the DPR support introduced so far only checked qApp->devicePixelRatio()
and not the actual painting surface.
With QWidgets that worked fine, but qqc2-desktop-style exposed DPR mismatches
with QtQuick.

To fix this, this patch makes several changes:
- first it adds a new helper function that helps grab the right DPR
- then it makes the affeceted control pixmap generators cache DPR
- and ports icons pixmaps on Qt6 to not look choppy when rendered inside UI
elements
- as bonus, it also fixes the annoying little line between the titlebar and the
window background

The end result are finally proper visuals outside of QWidgets apps.
Related: bug 483239

FIXED-IN: 6.8.0

M  +43   -5    kstyle/oxygenstyle.cpp
M  +8    -6    kstyle/oxygenstylehelper.cpp
M  +4    -4    kstyle/oxygenstylehelper.h
M  +20   -11   liboxygen/oxygenhelper.cpp
M  +10   -7    liboxygen/oxygenhelper.h

https://invent.kde.org/plasma/oxygen/-/commit/46f41ca1399e75f355aa11ea9df4f8febb737c56

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to