[dolphin] [Bug 477607] Folder tree view breaks if multiple nested subfolders are closed and opened

Akseli Lahtinen bugzilla_noreply at kde.org
Fri Dec 8 10:59:22 GMT 2023


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

Akseli Lahtinen <akselmo at akselmo.dev> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/syst
                   |                            |em/dolphin/-/commit/b1f9c2e
                   |                            |5c90548f391477fa17889ff8d1a
                   |                            |bf8f53
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #9 from Akseli Lahtinen <akselmo at akselmo.dev> ---
Git commit b1f9c2e5c90548f391477fa17889ff8d1abf8f53 by Akseli Lahtinen.
Committed on 08/12/2023 at 11:59.
Pushed by akselmo into branch 'master'.

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](/uploads/4fad2a62a5a9a67760fa7faa8e3bec40/Screencast_20231207_112700.webm)

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.

M  +0    -2    src/kitemviews/kfileitemmodelrolesupdater.cpp

https://invent.kde.org/system/dolphin/-/commit/b1f9c2e5c90548f391477fa17889ff8d1abf8f53

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the kfm-devel mailing list