BUG: 415698
Fixes multiple VCS plugin beginRetrival()/endRetrival()/itemVersion() calls on single directory update.
When VCS pluging finished gathering directory information VersionControlObserver::slotThreadFinished() calls KFileItemModel::setData() on each entry with appropriate item VCS information.
This in turn emits KFileItemModel::itemsChanged() which is connected with VersionControlObserver::delayedDirectoryVerification() which is starting to gather VCS directory information again.
This commits breaks the vicious circle.
Details
Details
- Reviewers
meven ngraham elvisangelaccio - Group Reviewers
Dolphin - Commits
- R318:305085b58143: Fixes multiple VCS plugin calls on single directory update.
Diff Detail
Diff Detail
- Lint
Lint Skipped - Unit
Unit Tests Skipped
src/views/versioncontrol/versioncontrolobserver.cpp | ||
---|---|---|
83 | analyze |
src/views/versioncontrol/versioncontrolobserver.cpp | ||
---|---|---|
72 ↗ | (On Diff #73748) | Please use a new private slot instead of the lambda below, so that you don't have to put nullptr here. |
src/views/versioncontrol/versioncontrolobserver.cpp | ||
---|---|---|
144 ↗ | (On Diff #73748) | Typo: emitted. |
src/views/versioncontrol/versioncontrolobserver.h | ||
103 ↗ | (On Diff #73905) | "Invokes delayedDirectoryVerification() only if the itemsChanged() signal has not been triggered by the VCS plugin itself." |
105 ↗ | (On Diff #73905) | I'd simply call it slotItemsChanged() |