Changeset View
Changeset View
Standalone View
Standalone View
applets/appmenu/plugin/appmenumodel.cpp
Show First 20 Lines • Show All 222 Lines • ▼ Show 20 Line(s) | 213 | { | |||
---|---|---|---|---|---|
223 | 223 | | |||
224 | if (m_importer) { | 224 | if (m_importer) { | ||
225 | m_importer->deleteLater(); | 225 | m_importer->deleteLater(); | ||
226 | } | 226 | } | ||
227 | 227 | | |||
228 | m_importer = new KDBusMenuImporter(serviceName, menuObjectPath, this); | 228 | m_importer = new KDBusMenuImporter(serviceName, menuObjectPath, this); | ||
229 | QMetaObject::invokeMethod(m_importer, "updateMenu", Qt::QueuedConnection); | 229 | QMetaObject::invokeMethod(m_importer, "updateMenu", Qt::QueuedConnection); | ||
230 | 230 | | |||
231 | connect(m_importer.data(), &DBusMenuImporter::menuUpdated, this, [=] { | 231 | connect(m_importer.data(), &DBusMenuImporter::menuUpdated, this, [=](QMenu *menu) { | ||
232 | m_menu = m_importer->menu(); | 232 | m_menu = m_importer->menu(); | ||
233 | if (m_menu.isNull()) { | 233 | if (m_menu.isNull() || menu != m_menu) { | ||
234 | return; | 234 | return; | ||
235 | } | 235 | } | ||
236 | setMenuAvailable(true); | 236 | setMenuAvailable(true); | ||
237 | emit modelNeedsUpdate(); | 237 | emit modelNeedsUpdate(); | ||
238 | }); | 238 | }); | ||
239 | 239 | | |||
240 | } | 240 | } |