[Kde-pim] EntityTreeModelPrivate::retrieveAncestors won't work

Alex Fiestas afiestas at kde.org
Thu May 24 14:59:38 BST 2012


When a DAV resource is added and address/organizer are executed the new 
collections won't be shown until the application is restarted. Trying to fix 
that bug I have arrived to:

entitytreemodel_p.cpp:616
EntityTreeModelPrivate::retrieveAncestors

In that method one of the first thing done is fetch all the ancestors by 
doing:

while ( !m_collections.contains( parentCollection.id() ) ) {
	parentCollection = parentCollection.parentCollection();

Which makes total sense.

The problem is that, just after it we are doing the follow comparation:
if ( parentCollection == m_rootCollection ) {
	return;
}

I don't understand much about the whole akonadi system yet (working on it) but 
my logic says that conditional is going to be always true because of the while 
and applications setting Akonadi::Collection::root as the CollectionMonitored 
(ChangeRecorder::setCollectionMonitored).

Took a look at the commit message but couldn't understand the reason why this 
conditional was added :/

Any feedback / ideas / something ?

Thanks !
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list