Review Request: Avoid calling KWallet::openWallet several times
Daniele Elmo Domenichelli
daniele.domenichelli at gmail.com
Thu Nov 22 21:22:35 UTC 2012
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/107426/
-----------------------------------------------------------
(Updated Nov. 22, 2012, 9:22 p.m.)
Review request for Telepathy and David Edmundson.
Changes
-------
As discussed with George, this class is not really thread safe, and telepathy is single-threaded in general (every dbus operation uses the main event loop) so I'm just using a bool
Summary (updated)
-----------------
Avoid calling KWallet::openWallet several times
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 (updated)
-----
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/d6cddabd/attachment-0001.html>
More information about the KDE-Telepathy
mailing list