Summary: | KMail crash on start, OpenBSD | ||
---|---|---|---|
Product: | [Applications] kmail2 | Reporter: | Vadim Zhukov <persgray> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | OpenBSD | ||
OS: | OpenBSD | ||
Latest Commit: | Version Fixed In: | 4.7.2 | |
Sentry Crash Report: |
Description
Vadim Zhukov
2011-09-28 01:02:26 UTC
Sorry, I shouldn't say "The crash can be reproduced every time". :( Now KMail started successfully (alone). I'll notify about more crashes. 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. Looks like the problem was really fixed by mentioned commit. |