Summary: | knode freezes with empty password | ||
---|---|---|---|
Product: | [Unmaintained] knode | Reporter: | Richard Lärkäng <larkang> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Richard Lärkäng
2005-02-07 20:41:33 UTC
CVS commit by vkrause: Prevent wallet operations from the network thread, this causes the thread to hang. BUG: 98801 M +6 -4 knserverinfo.cpp 1.30 M +3 -0 knserverinfo.h 1.16 --- kdepim/knode/knserverinfo.cpp #1.29:1.30 @@ -31,7 +31,8 @@ using namespace KWallet; #include <qwidget.h> -KNServerInfo::KNServerInfo() - : t_ype(STnntp), i_d(-1), p_ort(119), h_old(300), - t_imeout(60), n_eedsLogon(false), p_assDirty(false) +KNServerInfo::KNServerInfo() : + t_ype(STnntp), i_d(-1), p_ort(119), h_old(300), + t_imeout(60), n_eedsLogon(false), p_assDirty(false), + mPassLoaded( false ) { } @@ -135,5 +136,5 @@ const QString &KNServerInfo::pass() { // if we need to load the password, load all of them - if (n_eedsLogon && p_ass.isEmpty()) + if (n_eedsLogon && !mPassLoaded && p_ass.isEmpty() ) knGlobals.accountManager()->loadPasswords(); @@ -186,4 +187,5 @@ void KNServerInfo::readPassword() if (!n_eedsLogon) return; + mPassLoaded = true; // check wether there is a chance to find our password at all --- kdepim/knode/knserverinfo.h #1.15:1.16 @@ -81,4 +81,7 @@ class KNServerInfo { bool n_eedsLogon, p_assDirty; + /** Prevent loading the password multiple times since wallet operations + from the I/O thread don't work. */ + bool mPassLoaded; private: |