diff --git a/src/corelib/itemmodels/qabstractitemmodel.cpp b/src/corelib/itemmodels/qabstractitemmodel.cpp index c298b0ca041..98b4fbf3f77 100644 --- a/src/corelib/itemmodels/qabstractitemmodel.cpp +++ b/src/corelib/itemmodels/qabstractitemmodel.cpp @@ -2655,6 +2655,8 @@ QSize QAbstractItemModel::span(const QModelIndex &) const */ QHash QAbstractItemModel::roleNames() const { + // if the return value ever becomes dependent on *this, also change the following overrides: + // - QFileSystemModel return QAbstractItemModelPrivate::defaultRoleNames(); } diff --git a/src/gui/itemmodels/qfilesystemmodel.cpp b/src/gui/itemmodels/qfilesystemmodel.cpp index 8cb68069cac..42d83775b8a 100644 --- a/src/gui/itemmodels/qfilesystemmodel.cpp +++ b/src/gui/itemmodels/qfilesystemmodel.cpp @@ -1269,13 +1269,15 @@ Qt::DropActions QFileSystemModel::supportedDropActions() const */ QHash QFileSystemModel::roleNames() const { - auto ret = QAbstractItemModel::roleNames(); - ret.insert(QFileSystemModel::FileIconRole, - QByteArrayLiteral("fileIcon")); // == Qt::decoration - ret.insert(QFileSystemModel::FilePathRole, QByteArrayLiteral("filePath")); - ret.insert(QFileSystemModel::FileNameRole, QByteArrayLiteral("fileName")); - ret.insert(QFileSystemModel::FilePermissions, QByteArrayLiteral("filePermissions")); - ret.insert(QFileSystemModel::FileInfoRole, QByteArrayLiteral("fileInfo")); + static auto ret = [] { + auto ret = QAbstractItemModelPrivate::defaultRoleNames(); + ret.insert(QFileSystemModel::FileIconRole, "fileIcon"_ba); // == Qt::decoration + ret.insert(QFileSystemModel::FilePathRole, "filePath"_ba); + ret.insert(QFileSystemModel::FileNameRole, "fileName"_ba); + ret.insert(QFileSystemModel::FilePermissions, "filePermissions"_ba); + ret.insert(QFileSystemModel::FileInfoRole, "fileInfo"_ba); + return ret; + }(); return ret; }