on xenial help sign in
check if variant is valid to avoid asserting in debug mode when the connection to AccountsService doesn't work for some reason
2ce782bMichael Zanetti
plugins/Unity/Launcher/backend/launcherbackend.cpp+4−2
@@ -183,8 +183,10 @@ void LauncherBackend::syncFromAccounts()
183
183
184 if (m_accounts && !m_user.isEmpty()) {
184 if (m_accounts && !m_user.isEmpty()) {
185 QVariant variant = m_accounts->getUserProperty(m_user, "com.canonical.unity.AccountsService", "launcher-items");
185 QVariant variant = m_accounts->getUserProperty(m_user, "com.canonical.unity.AccountsService", "launcher-items");
186+ if (variant.isValid() && variant.canConvert<QDBusArgument>()) {
186− apps = qdbus_cast<QList<QVariantMap>>(variant.value<QDBusArgument>());
187+ apps = qdbus_cast<QList<QVariantMap>>(variant.value<QDBusArgument>());
187− defaults = isDefaultsItem(apps);
188+ defaults = isDefaultsItem(apps);
189+ }
188 }
190 }
189
191
190 if (m_accounts && defaults) { // Checking accounts as it'll be null when !useStorage
192 if (m_accounts && defaults) { // Checking accounts as it'll be null when !useStorage