[prev in list] [next in list] [prev in thread] [next in thread]
List: kfm-devel
Subject: Re: Dolphin and Baloo
From: Frank Reininghaus <frank78ac () googlemail ! com>
Date: 2014-02-05 10:18:05
Message-ID: CAFoZWWissLYm5bHbKLfrfgPVGzg7S8kLomcEbFWh+Dkh0aQ_fA () mail ! gmail ! com
[Download RAW message or body]
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
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic