Summary: | Clicking arrow beside samba share expands them all on top level | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | ikidd3123 |
Component: | view-engine: details mode | Assignee: | Dolphin Bug Assignee <dolphin-bugs-null> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | kfm-devel, nate, sitter |
Priority: | NOR | ||
Version: | 19.12.2 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Screencap |
Description
ikidd3123
2018-01-13 18:10:07 UTC
This is a bug in KFileItemModel::index. It fails to map the expanded URLs to their parent when that parent was originally listed without trailing slash. e.g listDir of smb gives out `smb://ajax.local` and its children will be `smb://ajax.local/Public`. ::index tries to mitigate this by stripping the trailing slash > const QUrl urlToFind = url.adjusted(QUrl::StripTrailingSlash); I am guessing this is noop for smb://ajax.local/ because that slash is technically not trailing but denotes the root. > dolphin(16343)/(default) KFileItemModel::index: urlToFind QUrl("smb://ajax.local/") > dolphin(16343)/(default) KFileItemModel::index: items QHash((QUrl("smb://ajax.local"), 0)(QUrl("smb://ubuntu.local"), 1)) This may well be a bug in QUrl because those urls really should be considered equal, but their may be nuances I'm not aware of. I seem to remember something about scheme-dependent path defaults, which I guess would make "" not necessarily == "/" |