Bug 523228 - Icons of files and directories are not shown
Summary: Icons of files and directories are not shown
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: view-engine: details mode (other bugs)
Version First Reported In: 26.07.80
Platform: Arch Linux Linux
: HI normal
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords:
: 524501 524525 524563 524578 524633 524638 524653 524674 524864 (view as bug list)
Depends on:
Blocks:
 
Reported: 2026-07-18 21:10 UTC by Iyán M. V.
Modified: 2026-09-04 07:38 UTC (History)
14 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 26.08.1
Sentry Crash Report:


Attachments
Video showing the issue when opening Dolphin (1.53 MB, video/webm)
2026-07-18 21:10 UTC, Iyán M. V.
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Iyán M. V. 2026-07-18 21:10:05 UTC
Created attachment 194426 [details]
Video showing the issue when opening Dolphin

DESCRIPTION

After updating to 26.07.80, Dolphin does not show any icons at all.

A workaround is to change the view mode (e.g., form detailed to icons, and then back to detailed). But this has to be done every single time Dolphin is closed.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.7.3
KDE Frameworks Version: 6.28.0
Qt Version: 6.12.0
Kernel Version: 7.1.3-arch2-2 (64-bit)
Graphics Platform: Wayland
Processors: 24 × AMD Ryzen 9 7900X3D 12-Core Processor
Memory: 96 GiB of RAM (93.4 GiB usable)
Graphics Processor 1: AMD Radeon RX 7900 XT
Graphics Processor 2: AMD Ryzen 9 7900X3D 12-Core Processor
Manufacturer: ASUS
Comment 1 Iyán M. V. 2026-07-20 12:36:44 UTC
To make this bug even more weird... I can only reproduce on my PC, not on my laptop. And both devices are running the exact same version.
Comment 2 Iyán M. V. 2026-07-31 14:38:27 UTC
I can still reliably reproduce the issue with 26.07.90.
Comment 3 Iyán M. V. 2026-07-31 15:15:02 UTC
Not sure this is a Dolphin problem... I was going to git bisect but now I observe the same problem on old tagged versions that I know it used to work. Perhaps a Qt 6.12 issue?
Comment 4 Iyán M. V. 2026-07-31 16:12:46 UTC
Okay, figured out the issue.  It's not a Qt/Mesa/kernel regression, it's a Dolphin regression that my particular config happens to trigger. I'll propose a patch. This was introduced in 0f7a9c681c4f7336362bf8a5d1c41f2bc8ed9215.
Comment 5 Bug Janitor Service 2026-07-31 16:40:50 UTC
A possibly relevant merge request was started @ https://invent.kde.org/system/dolphin/-/merge_requests/1371
Comment 6 Méven 2026-08-07 10:53:42 UTC
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
Comment 7 Viktor Jägersküpper 2026-08-21 14:37:49 UTC
*** Bug 524501 has been marked as a duplicate of this bug. ***
Comment 8 Viktor Jägersküpper 2026-08-21 15:00:58 UTC
*** Bug 524525 has been marked as a duplicate of this bug. ***
Comment 9 Viktor Jägersküpper 2026-08-22 07:15:11 UTC
*** Bug 524563 has been marked as a duplicate of this bug. ***
Comment 10 Antonio Rojas 2026-08-22 09:45:00 UTC
*** Bug 524578 has been marked as a duplicate of this bug. ***
Comment 11 Antonio Rojas 2026-08-23 09:58:56 UTC
*** Bug 524638 has been marked as a duplicate of this bug. ***
Comment 12 Antonio Rojas 2026-08-23 10:06:18 UTC
*** Bug 524633 has been marked as a duplicate of this bug. ***
Comment 13 Méven 2026-08-23 13:24:32 UTC
Git commit 9c652faca2d0230de12397d8d2b2906e1f457c1c by Méven Car.
Committed on 23/08/2026 at 13:18.
Pushed by meven into branch 'release/26.08'.

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.


(cherry picked from commit 3ce18dd17c41969796bdb62d0b7749b502b428a6)

16efaefa views: Never let the item layout use a zero icon size
5db1d781 Add unittest

Co-authored-by: Iyán Méndez Veiga <me@iyanmv.com>

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/9c652faca2d0230de12397d8d2b2906e1f457c1c
Comment 14 Viktor Jägersküpper 2026-08-23 16:35:07 UTC
*** Bug 524653 has been marked as a duplicate of this bug. ***
Comment 15 Antonio Rojas 2026-08-23 22:31:25 UTC
*** Bug 524674 has been marked as a duplicate of this bug. ***
Comment 16 Antonio Rojas 2026-08-28 06:34:23 UTC
*** Bug 524864 has been marked as a duplicate of this bug. ***