From 5c529632253bb8e864b3cc81eaabbd0a423112aa Mon Sep 17 00:00:00 2001 From: Renato Araujo Oliveira Filho Date: Mon, 3 Dec 2012 09:36:59 -0300 Subject: Changed getLink function to not be const. --- libqmenumodel/src/qmenumodel.cpp | 17 +++++++++++------ libqmenumodel/src/qmenumodel.h | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/libqmenumodel/src/qmenumodel.cpp b/libqmenumodel/src/qmenumodel.cpp index b18cc45..51b6863 100644 --- a/libqmenumodel/src/qmenumodel.cpp +++ b/libqmenumodel/src/qmenumodel.cpp @@ -185,11 +185,17 @@ QVariant QMenuModel::data(const QModelIndex &index, int role) const attribute = getStringAttribute(index, G_MENU_ATTRIBUTE_LABEL); break; case LinkSection: - attribute = getLink(index, G_MENU_LINK_SECTION); + { + QMenuModel *self = const_cast(this); + attribute = self->getLink(index, G_MENU_LINK_SECTION); break; + } case LinkSubMenu: - attribute = getLink(index, G_MENU_LINK_SUBMENU); + { + QMenuModel *self = const_cast(this); + attribute = self->getLink(index, G_MENU_LINK_SUBMENU); break; + } case Extra: attribute = getExtraProperties(index); break; @@ -235,7 +241,7 @@ QVariant QMenuModel::getStringAttribute(const QModelIndex &index, /*! \internal */ QVariant QMenuModel::getLink(const QModelIndex &index, - const QString &linkName) const + const QString &linkName) { GMenuModel *link; @@ -254,9 +260,8 @@ QVariant QMenuModel::getLink(const QModelIndex &index, } if (result == 0) { - QMenuModel *self = const_cast(this); - result = new QMenuModel(link, self); - self->m_cache << new CacheData(result, index.row()); + result = new QMenuModel(link, this); + m_cache << new CacheData(result, index.row()); } g_object_unref(link); diff --git a/libqmenumodel/src/qmenumodel.h b/libqmenumodel/src/qmenumodel.h index de49368..e0f69f2 100644 --- a/libqmenumodel/src/qmenumodel.h +++ b/libqmenumodel/src/qmenumodel.h @@ -71,7 +71,7 @@ private: guint m_signalChangedId; QVariant getStringAttribute(const QModelIndex &index, const QString &attribute) const; - QVariant getLink(const QModelIndex &index, const QString &linkName) const; + QVariant getLink(const QModelIndex &index, const QString &linkName); QVariant getExtraProperties(const QModelIndex &index) const; QString parseExtraPropertyName(const QString &name) const; void clearModel(); -- cgit v1.2.3