aboutsummaryrefslogtreecommitdiff
path: root/src/db.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/db.cpp')
-rw-r--r--src/db.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/db.cpp b/src/db.cpp
index ea6d46a6e5..4d4a3c4696 100644
--- a/src/db.cpp
+++ b/src/db.cpp
@@ -931,7 +931,21 @@ int CWalletDB::LoadWallet(CWallet* pwallet)
if (strKey == "fMinimizeToTray") ssValue >> fMinimizeToTray;
if (strKey == "fMinimizeOnClose") ssValue >> fMinimizeOnClose;
if (strKey == "fUseProxy") ssValue >> fUseProxy;
- if (strKey == "addrProxy") ssValue >> addrProxy;
+ if (strKey == "addrProxy")
+ {
+ CAddress addr;
+ CDataStream ssValue2 = ssValue;
+ // 0.6.0rc1 saved this as a CService, which causes failure when parsing as a CAddress
+ try
+ {
+ ssValue >> addr;
+ addrProxy = addr;
+ }
+ catch (std::ios_base::failure &e)
+ {
+ ssValue2 >> addrProxy;
+ }
+ }
if (fHaveUPnP && strKey == "fUseUPnP") ssValue >> fUseUPnP;
}
else if (strType == "minversion")