| Summary: | knode freezes with empty password | ||
|---|---|---|---|
| Product: | [Unmaintained] knode | Reporter: | Richard Lärkäng <larkang> |
| Component: | general | Assignee: | kdepim bugs <pim-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented 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:
|