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

--- Comment #56 from Méven <[email protected]> ---
Git commit 16591bff5f9f5ec383503c9b9e8cba9ceaf07695 by Méven Car.
Committed on 09/07/2026 at 08:05.
Pushed by meven into branch 'master'.

kiconutils: Fix overlay emblem size and placement on non-square icons

KOverlayIconEngine placed overlays at the corners of the requested rect
and fetched them at a device pixel ratio kept in mutable state that was
only set by the scaled-pixmap hook. So on a non-square or upscaled icon
the overlay detached from the centered icon, and when painted through
QIcon::paint() the overlay used a stale or wrong device pixel ratio.

Derive the device pixel ratio from the painter so overlays are sharp on
every paint path, and drop the m_dpr member. Anchor overlays to the icon
as actually painted (centered, aspect ratio preserved) instead of to
rect, and never let an overlay be larger than the icon, so they stay in
the icon's corners.

Add a regression test covering a non-square icon.

M  +50   -0    autotests/kiconutilstest.cpp
M  +1    -0    autotests/kiconutilstest.h
M  +21   -9    src/util/kiconutils.cpp

https://invent.kde.org/frameworks/kguiaddons/-/commit/16591bff5f9f5ec383503c9b9e8cba9ceaf07695

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

Reply via email to