Skip to content
  • Philip Withnall's avatar
    telepathy: Always notify of persona changes when disconnecting · 0f078082
    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
To find the state of this project's repository at the time of any of these versions, check out the tags.