diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2017-08-13 09:41:50 +0200 |
---|---|---|
committer | Holger Freyther <holger+qt@freyther.de> | 2017-09-12 06:16:50 +0000 |
commit | b18b35e2d2db771c754eee9fec7faada2b8fd303 (patch) | |
tree | bebbfb9406d24c71654ee87bd7c978bd98bf38ee /wayland/democompositor/apps/applistmodel.cpp | |
parent | e1c257c3330057d7df70d3a1e92361afcdd06579 (diff) |
democompositor: Give up on having AppEntry with only const members
When building gadgets that include instances of AppEntry that will
expose these member variables a Q_PROPERTY we will end trying to do
a std::move (even if the AppEntry is not movable). Remove the const
from the member variables, leave the CONSTANT in the property to
not generate a write function and let's keep the discipline to not
assign to an existing AppEntry.
Change-Id: I742a9d091e7e6eac6cc3cb84a48b7b8812a24247
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'wayland/democompositor/apps/applistmodel.cpp')
-rw-r--r-- | wayland/democompositor/apps/applistmodel.cpp | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/wayland/democompositor/apps/applistmodel.cpp b/wayland/democompositor/apps/applistmodel.cpp index 8602588..0b4d620 100644 --- a/wayland/democompositor/apps/applistmodel.cpp +++ b/wayland/democompositor/apps/applistmodel.cpp @@ -69,11 +69,6 @@ static QHash<int, QByteArray> modelRoles() QHash<int, QByteArray> AppListModel::m_roles = modelRoles(); -AppListModel::~AppListModel() -{ - qDeleteAll(m_rows); -} - int AppListModel::rowCount(const QModelIndex& index) const { if (index.isValid()) @@ -90,17 +85,17 @@ QVariant AppListModel::data(const QModelIndex& index, int role) const switch (role) { case App: - return QVariant::fromValue(*entry); + return QVariant::fromValue(entry); case IconName: - return entry->iconName; + return entry.iconName; case ApplicationName: - return entry->appName; + return entry.appName; case ExeuctableName: - return entry->executableName; + return entry.executableName; case ExecutablePath: - return entry->executablePath; + return entry.executablePath; case SourceFileName: - return entry->sourceFileName; + return entry.sourceFileName; default: qCWarning(apps) << "Unhandled role" << role; return QVariant(); @@ -154,13 +149,11 @@ void AppListModel::doAddFile(const QString& fileName) return; for (int i = 0; i < m_rows.count(); ++i) { - auto oldEntry = m_rows[i]; - if (oldEntry->sourceFileName == fileName) { - m_rows[i] = new AppEntry(newEntry); - delete oldEntry; + if (m_rows[i].sourceFileName == fileName) { + m_rows[i] = newEntry; return; } } - m_rows.push_back(new AppEntry(newEntry)); + m_rows.push_back(newEntry); } |