summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorMaks Naumov <maksqwe1@ukr.net>2015-01-24 21:26:06 +0200
committerMaks Naumov <maksqwe1@ukr.net>2015-02-06 09:43:38 +0000
commitb444769840b2497f1295bca0694fe59aa78bb551 (patch)
treec4813f4e963a254a094a7a8c85348128f0832557 /src/widgets
parentb3fc5e1ea3eb4fe838ac716aaca4efaa5de5a814 (diff)
Don't crash with invalid QModelIndex or when QTreeWidgetItem is NULL in mimeData()
Change-Id: I0a9abaa05cf136eadf222d3e7d102930719b84ff Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/itemviews/qtreewidget.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp
index 7378b9979a..769a5b97b9 100644
--- a/src/widgets/itemviews/qtreewidget.cpp
+++ b/src/widgets/itemviews/qtreewidget.cpp
@@ -3273,8 +3273,18 @@ QMimeData *QTreeWidget::mimeData(const QList<QTreeWidgetItem*> items) const
QList<QModelIndex> indexes;
for (int i = 0; i < items.count(); ++i) {
QTreeWidgetItem *item = items.at(i);
+ if (!item) {
+ qWarning() << "QTreeWidget::mimeData: Null-item passed";
+ return 0;
+ }
+
for (int c = 0; c < item->values.count(); ++c) {
- indexes << indexFromItem(item, c);
+ const QModelIndex index = indexFromItem(item, c);
+ if (!index.isValid()) {
+ qWarning() << "QTreeWidget::mimeData: No index associated with item :" << item;
+ return 0;
+ }
+ indexes << index;
}
}
return d->model->QAbstractItemModel::mimeData(indexes);