Dolphin and Baloo
Frank Reininghaus
frank78ac at googlemail.com
Wed Feb 5 10:18:05 GMT 2014
Hi,
2014-02-04 Frank Reininghaus:
[...]
> (c) Unless I'm overlooking something, it looks to me like
> rolesData(KFileItem) invokes applyChangedBalooRoles(QString), which
> will then finally trigger applyChangedBalooRolesJobFinished(KJob*).
> The latter function then calls rolesData(KFileItem) again. This looks
> like an infinite recursion to me. It won't cause a crash or block the
> GUI because two of the recursive calls are asynchronous, but it will
> make Dolphin use 100% of one CPU core permanently. Or am I missing
> something here?
I thought again about this issue. Maybe the best solution is to simply
drop the call to rolesData from applyChangedBalooRolesJobFinished? If
any non-Baloo roles need to be updated, this will happen anyway
because we receive a signal from KDirWatch either directly or
indirectly (via KFileItemModel's itemsChanged signal) in
KFileItemModelRolesUpdater if anything interesting changes.
So I think that everything should work OK (and without infinite
recursions) if the QHash data is simply initialized to an empty QHash
in applyChangedBalooRolesJobFinished, but I haven't tested it.
Cheers,
Frank
More information about the kfm-devel
mailing list