[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/kleopatra/models
From: Frank Osterfeld <frank.osterfeld () kdemail ! net>
Date: 2008-04-18 13:12:06
Message-ID: 1208524326.215997.1385.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 798512 by osterfeld:
use addKeys to re-add children. This prevents "row inserted corruption reported by \
proxy models", triggering a reset().
M +1 -15 keylistmodel.cpp
--- trunk/KDE/kdepim/kleopatra/models/keylistmodel.cpp #798511:798512
@@ -716,22 +716,8 @@
// Step 3: Add children to new parent ( == key )
if ( !keyAlreadyExisted && !children.empty() ) {
+ addKeys( children );
const QModelIndex new_parent = index( key );
- beginInsertRows( index( key ), 0, children.size()-1 );
- assert( mKeysByExistingParent.find( fpr ) == mKeysByExistingParent.end() \
);
- mKeysByExistingParent[fpr] = children;
-
- //merge children into mKeysByFingerprint:
-
- std::vector<Key> mergedChildren;
- mergedChildren.reserve( children.size() + mKeysByFingerprint.size() );
- std::set_union( children.begin(), children.end(),
- mKeysByFingerprint.begin(), mKeysByFingerprint.end(),
- std::back_inserter( mergedChildren ), \
ByFingerprint<std::less>() );
-
- mKeysByFingerprint = mergedChildren;
- endInsertRows();
-
// emit the rowMoved() signals in reversed direction, so the
// implementation can use a stack for mapping.
for ( int i = children.size() - 1 ; i >= 0 ; --i )
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic