[Bug 282946] KMail crash on start, OpenBSD

Vadim Zhukov persgray at gmail.com
Sat Oct 1 02:52:35 BST 2011


https://bugs.kde.org/show_bug.cgi?id=282946





--- Comment #2 from Vadim Zhukov <persgray gmail com>  2011-10-01 01:52:34 ---
Just found revision b5c376b0:a2855606 in kdepimlibs:

=================================
diff --git a/akonadi/entitytreemodel_p.cpp b/akonadi/entitytreemodel_p.cpp
index 285d6ee..30f1a23 100644
--- a/akonadi/entitytreemodel_p.cpp
+++ b/akonadi/entitytreemodel_p.cpp
@@ -1079,8 +1079,18 @@ void EntityTreeModelPrivate::monitoredItemMoved( const
Akonadi::Item& item,
   } else if ( isHidden( destCollection ) ) {
     monitoredItemRemoved( item );
     return;
+  } else {
+    monitoredItemRemoved( item );
+    monitoredItemAdded( item, destCollection );
+    return;
   }
-
+  // "Temporarily" commented out as it's likely the best course to
+  // avoid the dreaded "reset storm" (or layoutChanged storm). The
+  // whole itemMoved idea is great but not practical until all the
+  // other proxy models play nicely with it, right now they just
+  // transform moved signals in layout changed, which explodes into
+  // a reset of the source model inside of the message list (ouch!)
+#if 0
   if ( !m_items.contains( item.id() ) ) {
     kWarning() << "Got a stale notification for an item which was already
removed." << item.id() << item.remoteId();
     return;
@@ -1112,6 +1122,7 @@ void EntityTreeModelPrivate::monitoredItemMoved( const
Akonadi::Item& item,
   node->parent = destCollection.id();
   m_childEntities[ destCollection.id() ].append( node );
   q->endMoveRows();
+#endif
 }

 void EntityTreeModelPrivate::monitoredItemLinked( const Akonadi::Item& item,
const Akonadi::Collection& collection )
=================================

Applied and testing now.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Kdepim-bugs mailing list