Skip to content

Do not reset expandability when loading previews

Fixes a weird bug with the treeview if one has

[PreviewSettings]
Plugins=audiothumbnail

in their dolphinrc. It can be any PreviewSettings plugin, as long as there it at least one.

Check the bug report for more, but in short, the bug is reproducible like this:

create folder tree inside a test folder with 

mkdir -p 1/A/B/C/D/E/F/G/H/I
mkdir -p 2/A/B/C/D/E/F/G/H/I
mkdir -p 3/A/B/C/D/E/F/G/H/I

make sure you see the test folder, and expand it

expand folder 1, no need to expand all sub folders
expand folder 2
collapse and expand test folder
3 loses its expansion arrow

if all folders are expanded, only 3 keeps its order

if 1 and all its subfolders are expanded, then test is toggled,
folder 2 also loses its expansion arrow

Video of the bug:

Screencast_20231207_112700

The path to the bug is: KFileItemModelRolesUpdater::slotPreviewFailed -> KFileItemModelRolesUpdater::applyResolvedRoles -> KFileItemModelRolesUpdater::rolesData -> KFileItemModelRolesUpdater::startDirectorySizeCounting.

This causes Dolphin with preview plugins enabled trying to count the directories again, and the data gets reset even if there is something there. This then resets the isExpandable flag and that breaks the treeview, causing all kinds of issues, like being able to expand non-directories and makes things out of sync.

BUG:477607

Edited by Akseli Lahtinen

Merge request reports