From 6bc1a1ec2f630d38d87ff14c8ab4c3fa5eba35be Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Wed, 2 Dec 2020 15:40:14 +0100 Subject: [PATCH] Dont' return a const ref to QModelIndex The conversion operator from QPMI to QModelIndex should return by value, to hide implementation details and so that we don't have to rely on a static empty QModelIndex. Change-Id: I92b3f8451422f2b69bf31f28b387a124fd24ec46 Reviewed-by: Giuseppe D'Angelo (cherry picked from commit 0cd2935ed9d772f0eb06d03201baabd60764ec80) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/itemmodels/qabstractitemmodel.cpp | 9 ++++----- src/corelib/itemmodels/qabstractitemmodel.h | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/corelib/itemmodels/qabstractitemmodel.cpp b/src/corelib/itemmodels/qabstractitemmodel.cpp index 7f842e29a65..8da33e0c4e5 100644 --- a/src/corelib/itemmodels/qabstractitemmodel.cpp +++ b/src/corelib/itemmodels/qabstractitemmodel.cpp @@ -488,17 +488,16 @@ QPersistentModelIndex &QPersistentModelIndex::operator=(const QModelIndex &other } /*! - \fn QPersistentModelIndex::operator const QModelIndex&() const + \fn QPersistentModelIndex::operator QModelIndex() const - Cast operator that returns a const QModelIndex&. + Cast operator that returns a QModelIndex. */ -QPersistentModelIndex::operator const QModelIndex&() const +QPersistentModelIndex::operator QModelIndex() const { - static const QModelIndex invalid; if (d) return d->index; - return invalid; + return QModelIndex(); } /*! diff --git a/src/corelib/itemmodels/qabstractitemmodel.h b/src/corelib/itemmodels/qabstractitemmodel.h index 8340ca0e73e..26eb9104757 100644 --- a/src/corelib/itemmodels/qabstractitemmodel.h +++ b/src/corelib/itemmodels/qabstractitemmodel.h @@ -226,7 +226,7 @@ public: bool operator==(const QModelIndex &other) const; bool operator!=(const QModelIndex &other) const; QPersistentModelIndex &operator=(const QModelIndex &other); - operator const QModelIndex&() const; + operator QModelIndex() const; int row() const; int column() const; void *internalPointer() const;