From eccb8ec2d6644a5e52dd85c4925e29402046ad4c Mon Sep 17 00:00:00 2001 From: SomberNight Date: Thu, 20 Sep 2018 01:21:42 +0200 Subject: [PATCH] normalize wallet file paths fix #4020 fix #4126 --- electrum/gui/qt/main_window.py | 1 + electrum/storage.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/electrum/gui/qt/main_window.py b/electrum/gui/qt/main_window.py index bad62890c..14ef70ff0 100644 --- a/electrum/gui/qt/main_window.py +++ b/electrum/gui/qt/main_window.py @@ -452,6 +452,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): if filename in recent: recent.remove(filename) recent.insert(0, filename) + recent = [path for path in recent if os.path.exists(path)] recent = recent[:5] self.config.set_key('recently_open', recent) self.recently_visited_menu.clear() diff --git a/electrum/storage.py b/electrum/storage.py index 156df968e..d3fda8a28 100644 --- a/electrum/storage.py +++ b/electrum/storage.py @@ -29,7 +29,7 @@ import json import copy import re import stat -import hmac, hashlib +import hashlib import base64 import zlib from collections import defaultdict @@ -73,7 +73,7 @@ class JsonDB(PrintError): def __init__(self, path): self.db_lock = threading.RLock() self.data = {} - self.path = path + self.path = os.path.normcase(os.path.abspath(path)) self.modified = False def get(self, key, default=None): @@ -142,8 +142,8 @@ class JsonDB(PrintError): class WalletStorage(JsonDB): def __init__(self, path, manual_upgrades=False): - self.print_error("wallet path", path) JsonDB.__init__(self, path) + self.print_error("wallet path", path) self.manual_upgrades = manual_upgrades self.pubkey = None if self.file_exists():