[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kate] addons/filetree: fix segfault in ProxyItem::remChild by double-removing the same item
From:       Christoph Cullmann <cullmann () kde ! org>
Date:       2016-10-21 6:19:24
Message-ID: E1bxTAq-00089L-9s () code ! kde ! org
[Download RAW message or body]

Git commit 1a14f27fd626451c3ac0c24b0ec594c0e2dbe7db by Christoph Cullmann.
Committed on 21/10/2016 at 06:18.
Pushed by cullmann into branch 'master'.

fix segfault in ProxyItem::remChild by double-removing the same item

M  +2    -1    addons/filetree/katefiletreemodel.cpp

http://commits.kde.org/kate/1a14f27fd626451c3ac0c24b0ec594c0e2dbe7db

diff --git a/addons/filetree/katefiletreemodel.cpp b/addons/filetree/katefiletreemodel.cpp
index 8fbdab0..db1df32 100644
--- a/addons/filetree/katefiletreemodel.cpp
+++ b/addons/filetree/katefiletreemodel.cpp
@@ -1164,7 +1164,8 @@ void KateFileTreeModel::handleDuplicitRootDisplay(ProxyItemDir *init)
                         const QString xy = rdir + QLatin1Char('/');
                         if (node->path().startsWith(xy)) {
                             beginRemoveRows(QModelIndex(), node->row(), node->row());
-                            check_root_removed = node == check_root;
+                            // check_root_removed must be sticky
+                            check_root_removed = check_root_removed || (node == check_root);
                             m_root->remChild(node);
                             endRemoveRows();
                             insertItemInto(irdir, node);
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic