Bug 310505

Summary: auth handler fails the first time after login and never quits
Product: [Unmaintained] telepathy Reporter: George Kiagiadakis <mail>
Component: common-internalsAssignee: Telepathy Bugs <kde-telepathy-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: ddomenichelli
Priority: HI    
Version: 0.5.1   
Target Milestone: 0.5.2   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In: 0.5.2
Sentry Crash Report:

Description George Kiagiadakis 2012-11-22 14:16:45 UTC
Reproducible: Always

Steps to Reproduce:
1. Login
2. Go online
3. Enter kwallet password
Actual Results:  
One account goes online, all the others fail with either "authentication error" or "cancelled on request" and the auth handler doesn't quit automatically.


Happens only the first time after login.
Comment 1 Daniele E. Domenichelli 2012-11-22 17:54:19 UTC
Ohhh that makes sense now, I have the same problem, but I was searching for an explanation with the auto-login stuff.
I was able to reproduce it by setting the accounts offline, closing the wallet, and setting the accounts online.
I think that only one running job is actually notified that the wallet was opened
Comment 2 Daniele E. Domenichelli 2012-11-22 22:01:51 UTC
Git commit c086a55bb68b932348f68711f38684cbd12d2da7 by Daniele E. Domenichelli.
Committed on 22/11/2012 at 21:25.
Pushed by ddomenichelli into branch 'kde-telepathy-0.5'.

Avoid calling KWallet::openWallet several times

In order to avoid the problem when kwallet is closed while kcm accounts
is open, we introduced a bug: if more than one openWallet call is done
at the same time, we reset the scoped pointer with a new wallet, the
old wallet is deleted and therefore the signal is never emitted.

This patch uses avoids trying to open the wallet several times if it is
already being opened.

Reviewed-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
REVIEW: 107426
FIXED-IN: 0.5.2

M  +30   -6    KTp/wallet-interface.cpp

http://commits.kde.org/telepathy-common-internals/c086a55bb68b932348f68711f38684cbd12d2da7