Apparently the wallet interface opens KWallet in a synchronous way. This allows other events to be processed while waiting for KWallet's reply over dbus and causes weird bugs like this one: https://gist.github.com/3053094 This is most likely the reason why the auth handler fails when connecting multiple accounts at the same time, because handleChannels() is called while some other code is waiting for the wallet to open, and then the wallet is opened again and again with nested calls and it all breaks. Reproducible: Always
Assigned to me. Will be adding a new method to WalletManager to explicitly open the wallet. This will return a Tp::PendingOperation (or similar) following the wallet opening process. SASL authOp will then call this and wait until wallet opens (or fails) before continuing. This can't be backported to 0.4, as it requires changing our lib. Accounts KCM + Auth Handler both need updating.
Git commit cd46494b035c3fa020019db2f6951945bfd63a66 by David Edmundson. Committed on 08/08/2012 at 15:33. Pushed by davidedmundson into branch 'model_refactor_1'. Async wallet usage, using wallet-utils from common internals Also fix some pointless code when deleting accounts which used to proxy via a model. This should hopefully fix the crash when removing accounts REVIEW: 105926 Related: bug 293716 M +0 -13 KTp/Models/accounts-list-model.cpp M +0 -1 KTp/Models/accounts-list-model.h http://commits.kde.org/telepathy-common-internals/cd46494b035c3fa020019db2f6951945bfd63a66
Git commit 82a26bbaddfd898374b039038e77702575cbe1e7 by David Edmundson. Committed on 08/08/2012 at 15:33. Pushed by davidedmundson into branch 'master'. Async wallet usage, using wallet-utils from common internals Also fix some pointless code when deleting accounts which used to proxy via a model. This should hopefully fix the crash when removing accounts REVIEW: 105926 Related: bug 293716 M +0 -13 KTp/Models/accounts-list-model.cpp M +0 -1 KTp/Models/accounts-list-model.h http://commits.kde.org/telepathy-common-internals/82a26bbaddfd898374b039038e77702575cbe1e7