Review Request: Use mutex to avoid calling KWallet::openWallet several times

Daniele Elmo Domenichelli daniele.domenichelli at gmail.com
Thu Nov 22 20:56:01 UTC 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/107426/
-----------------------------------------------------------

Review request for Telepathy and David Edmundson.


Description
-------

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 a QMutex to avoid trying the wallet several times if it is already being opened.
In order to catch the signal from the KWallet, I needed a QObject, and since the KTp::WalletInterface is using K_GLOBAL_STATIC, I used the private class instead.


This addresses bug 310505.
    http://bugs.kde.org/show_bug.cgi?id=310505


Diffs
-----

  KTp/wallet-interface.cpp 428c02e48365c09fb579a26a73ec01efac029864 

Diff: http://git.reviewboard.kde.org/r/107426/diff/


Testing
-------

Disconnected all accounts, closed the wallet and reconnected all accounts several times (accepting and canceling the kwallet dialog)

Tried to randomly connect/disconnect accounts from kcm while randomly close kwallet and accepting/cancelling kwallet dialog.


Thanks,

Daniele Elmo Domenichelli

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-telepathy/attachments/20121122/0f8127c2/attachment.html>


More information about the KDE-Telepathy mailing list