[Kde-pim] EntityTreeModel doesn't handle setData(Item) calls in quick succession

Stephen Kelly steveire at gmail.com
Mon Sep 13 07:52:45 BST 2010


David Jarvie wrote:

> When successive calls are made quickly to EntityTreeModel::setData(...,
> ItemRole, ...) for the same Akonadi Item (and same model index), conflicts
> occur (the conflict resolve dialog appears). This seems to be because the
> Item revision number can be the same for two calls if the first
> ItemModifyJob has not completed when the second setData() is called.


> 
> I suspect that it is necessary for EntityTreeModel to implement a queuing
> system for ItemModifyJob, which waits for one job to complete before the
> next is created. In the result slot for the job, the Item revision number
> in the next queued job would need to be updated to the new value before
> the job is scheduled.

Correct. This is something I've been meaning to find a solution for for a 
while. I'd like it to be solved on a Session level, or at least on a generic 
level. Volker said there was something in KOrg for this as a starting point?


> The
> symptom also occurs when Item attributes are modified (without a call to
> setData()).

This sounds suspicious. Are the attributes updated on the server but not in 
the model? Is the change recorder monitoring the attributes?

All the best,

Steve.

_______________________________________________
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