@@ -38,13 +38,6 @@ UnityMenuModel::UnityMenuModel(QObject *parent)
3838{
3939}
4040
41−UnityMenuModel::UnityMenuModel(const QVariant& data, QObject *parent)
42−: QAbstractListModel(parent)
43−{
44− QVariantList li = data.toList();
45− m_modelData = li;
46−}
47−
4841QVariant UnityMenuModel::modelData() const
4942{
5043 return m_modelData;
@@ -201,9 +194,12 @@ QObject * UnityMenuModel::submenu(int position, QQmlComponent*)
201194 if (submenuData.type() == (int)QMetaType::QVariantList) {
202195 UnityMenuModel*& model = submenus[position];
203196 if (!model) {
204− model = new UnityMenuModel(submenuData, this);
205− return model;
197+ model = new UnityMenuModel(this);
198+ }
199+ if (model->modelData() != submenuData) {
200+ model->setModelData(submenuData);
206201 }
202+ return model;
207203 }
208204
209205 return NULL;