diff --git a/src/todo/incidencetreemodel.cpp b/src/todo/incidencetreemodel.cpp --- a/src/todo/incidencetreemodel.cpp +++ b/src/todo/incidencetreemodel.cpp @@ -202,6 +202,15 @@ Q_ASSERT(false); return; } + + // An UID could have changed, update hashes! + if (node->uid != incidence->instanceIdentifier()) { + qCDebug(CALENDARVIEW_LOG) << "Incidence UID has changed" << node->uid << incidence->instanceIdentifier(); + m_itemByUid.remove(node->uid); + m_uidMap.remove(node->uid); + node->uid = incidence->instanceIdentifier(); + m_uidMap.insert(node->uid, node); + } m_itemByUid.insert(incidence->instanceIdentifier(), item); Node::Ptr newParentNode;