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

Méven <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/syst
                   |                            |em/dolphin/-/commit/3ce18dd
                   |                            |17c41969796bdb62d0b7749b502
                   |                            |b428a6
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from Méven <[email protected]> ---
Git commit 3ce18dd17c41969796bdb62d0b7749b502b428a6 by Méven Car, on behalf of
Iyán Méndez Veiga.
Committed on 07/08/2026 at 10:53.
Pushed by meven into branch 'master'.

views: Never let the item layout use a zero icon size

DolphinItemListView caches the icon size in m_iconSize/m_previewSize, but
those members are only ever written by setZoomLevel(), which returns early
when the requested zoom level equals the current one. DolphinView::
applyViewProperties() skips the call for the same reason.

A freshly constructed view starts with m_zoomLevel == 0 and both cached
sizes at 0. Details mode defaults to KIconLoader::SizeSmall, which is zoom
level 0, so the requested level matches the initial one, setZoomLevel() is
never called and updateGridSize() ends up putting a size of 0 into
KItemListStyleOption. KStandardItemListWidget then creates a null pixmap
for every item, and since it only refreshes the pixmap cache when the size
changes, nothing recovers until the view mode is switched.

Fall back to the configured size in updateGridSize() when the cache has not
been populated yet, and keep the cache in sync in setZoomLevel() even when
the zoom level itself did not change. The latter also covers toggling
previews, which switches to the other cache without going through
setZoomLevel().

Icons mode is unaffected because its default size maps to zoom level 2, and
so is any setup using global view properties, which reads the sizes from the
settings directly.

M  +5    -0    src/tests/CMakeLists.txt
A  +227  -0    src/tests/dolphinitemlistviewtest.cpp     [License: GPL(v2.0+)]
M  +24   -9    src/views/dolphinitemlistview.cpp
M  +3    -1    src/views/zoomlevelinfo.h

https://invent.kde.org/system/dolphin/-/commit/3ce18dd17c41969796bdb62d0b7749b502b428a6

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

Reply via email to