diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-05-05 21:43:42 +0200 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-05-06 11:27:48 +0200 |
commit | 8c889bf1104ed1dad95a01d2b1ae1e6950fe82ed (patch) | |
tree | 18701f51f519e39bcc3fe4d487854700af837883 /src/widgets/doc/snippets/graphicsview.cpp | |
parent | 0de4f0dcc3cae4f535a5604933e7d44212a159d4 (diff) | |
download | qtbase-8c889bf1104ed1dad95a01d2b1ae1e6950fe82ed.tar.gz |
QModelIndex/QAIM: improve const correctness
QAIM::createIndex() takes a non-const void*. It's
typically called from inside QAIM::index(), which is a
const member function. If the data storage wrapped
by the model is const correct, it means that we have
to drop constness somewhere before calling createIndex().
To support this: change createIndex() to take a
const void * instead. This is painless.
Accessing the pointer is a bit more troubling, because
the accessor (QModelIndex::internalPointer()) returns
void *. (Effectively, now it does a const_cast...).
To avoid a massive source break, I've left it alone,
and instead added another function to retrieve a
const void *.
Read-only models can now be fully (deep) const correct.
[ChangeLog][QtCore][QAbstractItemModel] The
createIndex() function now takes a const void *, rather
than a void *.
[ChangeLog][QtCore][QModelIndex] Added the
constInternalPointer() function, to retrieve the
internal pointer as a pointer-to-const.
Change-Id: I108912b6814fcd5fe0c5cb7db6c721ba51e83de0
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/widgets/doc/snippets/graphicsview.cpp')
0 files changed, 0 insertions, 0 deletions