Do not crash trying to load or save QModelIndex.
authorJędrzej Nowacki <jedrzej.nowacki@nokia.com>
Fri, 13 Jan 2012 14:12:46 +0000 (15:12 +0100)
committerQt by Nokia <qt-info@nokia.com>
Sun, 5 Feb 2012 12:06:02 +0000 (13:06 +0100)
QModelIndex doesn't have data stream operators loading or saving this
type should gracefully fail.

Change-Id: I6a1a3bab3f83ff4921369a07fdb54ac462eff554
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
src/corelib/kernel/qmetatype.cpp

index cdabf2c..50b11e0 100644 (file)
@@ -633,6 +633,7 @@ bool QMetaType::save(QDataStream &stream, int type, const void *data)
     case QMetaType::VoidStar:
     case QMetaType::QObjectStar:
     case QMetaType::QWidgetStar:
+    case QMetaType::QModelIndex:
         return false;
     case QMetaType::Long:
         stream << qlonglong(*static_cast<const long *>(data));
@@ -837,6 +838,7 @@ bool QMetaType::load(QDataStream &stream, int type, void *data)
     case QMetaType::VoidStar:
     case QMetaType::QObjectStar:
     case QMetaType::QWidgetStar:
+    case QMetaType::QModelIndex:
         return false;
     case QMetaType::Long: {
         qlonglong l;