-
Philip Withnall authored
This reverts commit af500a4b and applies a different fix. The problem was that persona changes could get away without being notified when disconnecting due to an account being disabled. This is because, after storing the cache, an additional check is performed for whether the account was enabled. If it is, the cache is loaded (and persona changes notified). If not, the cache is not loaded, *and persona changes were not notified*. This situation could occur when a Telepathy account is disabled: 1. _notify_connection_cb() is called, but the TpAccount::enabled property is still true. 2. While in store_cache(), the TpAccount::enabled property goes false. 3. The check before load_cache() would fail, so load_cache() would never be called. Similarly, it could occur when a Telepathy account is removed, with TpAccountManager:account-removed being emitted while in store_cache(). Closes: https://bugzilla.gnome.org/show_bug.cgi?id=683390
0f078082