Account: Invalidate credentials when clicking "Sign out" #4241
authorMarkus Goetz <markus@woboq.com>
Wed, 2 Dec 2015 15:31:58 +0000 (16:31 +0100)
committerMarkus Goetz <markus@woboq.com>
Wed, 2 Dec 2015 15:31:58 +0000 (16:31 +0100)
src/gui/accountsettings.cpp
src/gui/owncloudgui.cpp

index 836a156112051d09bd5d1b78e669d213f45393c5..275ac917c65c0c925b1e5929391964722742507d 100644 (file)
@@ -160,10 +160,14 @@ void AccountSettings::slotOpenAccountWizard()
     OwncloudSetupWizard::runWizard(qApp, SLOT(slotownCloudWizardDone(int)), 0);
 }
 
+// FIXME: Use same code path as ownCloudGui::slotLogout()
 void AccountSettings::slotToggleSignInState()
 {
-    bool signedInState = _accountState->isSignedOut();
-    _accountState->setSignedOut( !signedInState );
+    bool signedOutState = _accountState->isSignedOut();
+    if (!signedOutState) {
+        _accountState->account()->credentials()->invalidateToken();
+    }
+    _accountState->setSignedOut( !signedOutState );
 }
 
 void AccountSettings::doExpand()
index af8dc1b5ecdbd562b2e333962f3143f2107704aa..fd82315d7cdbd8abbac91526299309e11ea0998c 100644 (file)
@@ -637,6 +637,7 @@ void ownCloudGui::slotLogin()
     }
 }
 
+// FIXME: Unify codepath with AccountSettings::slotToggleSignInState()
 void ownCloudGui::slotLogout()
 {
     auto list = AccountManager::instance()->accounts();