projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
uisupport: Fix invalid model segfault from index
[quassel.git]
/
src
/
client
/
treemodel.cpp
diff --git
a/src/client/treemodel.cpp
b/src/client/treemodel.cpp
index
8d6c882
..
006434c
100644
(file)
--- a/
src/client/treemodel.cpp
+++ b/
src/client/treemodel.cpp
@@
-569,6
+569,12
@@
void TreeModel::debug_rowsAboutToBeRemoved(const QModelIndex& parent, int start,
parentItem = rootItem;
qDebug() << "debug_rowsAboutToBeRemoved" << parent << parentItem << parent.data().toString() << rowCount(parent) << start << end;
parentItem = rootItem;
qDebug() << "debug_rowsAboutToBeRemoved" << parent << parentItem << parent.data().toString() << rowCount(parent) << start << end;
+ // Make sure model is valid first
+ if (!parent.model()) {
+ qDebug() << "Parent model is not valid!" << end;
+ return;
+ }
+
QModelIndex child;
for (int i = end; i >= start; i--) {
child = parent.model()->index(i, 0, parent);
QModelIndex child;
for (int i = end; i >= start; i--) {
child = parent.model()->index(i, 0, parent);
@@
-585,6
+591,12
@@
void TreeModel::debug_rowsInserted(const QModelIndex& parent, int start, int end
parentItem = rootItem;
qDebug() << "debug_rowsInserted:" << parent << parentItem << parent.data().toString() << rowCount(parent) << start << end;
parentItem = rootItem;
qDebug() << "debug_rowsInserted:" << parent << parentItem << parent.data().toString() << rowCount(parent) << start << end;
+ // Make sure model is valid first
+ if (!parent.model()) {
+ qDebug() << "Parent model is not valid!" << end;
+ return;
+ }
+
QModelIndex child;
for (int i = start; i <= end; i++) {
child = parent.model()->index(i, 0, parent);
QModelIndex child;
for (int i = start; i <= end; i++) {
child = parent.model()->index(i, 0, parent);