diff --git a/electrum b/electrum index d260952a6..9a9f41855 100755 --- a/electrum +++ b/electrum @@ -278,7 +278,8 @@ def run_offline_command(config, config_options): # arguments passed to function args = [config.get(x) for x in cmd.params] # decode json arguments - args = list(map(json_decode, args)) + if cmdname not in ('setconfig',): + args = list(map(json_decode, args)) # options kwargs = {} for x in cmd.options: diff --git a/gui/qt/__init__.py b/gui/qt/__init__.py index 4bfd0fe6a..16d07948f 100644 --- a/gui/qt/__init__.py +++ b/gui/qt/__init__.py @@ -92,7 +92,8 @@ class ElectrumGui: #network.add_jobs([DebugMem([Abstract_Wallet, SPV, Synchronizer, # ElectrumWindow], interval=5)]) QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_X11InitThreads) - QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_ShareOpenGLContexts) + if hasattr(QtCore.Qt, "AA_ShareOpenGLContexts"): + QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_ShareOpenGLContexts) self.config = config self.daemon = daemon self.plugins = plugins diff --git a/lib/commands.py b/lib/commands.py index bbca25f13..ff13ae682 100644 --- a/lib/commands.py +++ b/lib/commands.py @@ -34,7 +34,7 @@ from functools import wraps from decimal import Decimal from .import util -from .util import bfh, bh2u, format_satoshis +from .util import bfh, bh2u, format_satoshis, json_decode from .import bitcoin from .bitcoin import is_address, hash_160, COIN, TYPE_ADDRESS from .i18n import _ @@ -151,10 +151,8 @@ class Commands: @command('') def setconfig(self, key, value): """Set a configuration variable. 'value' may be a string or a Python expression.""" - try: - value = ast.literal_eval(value) - except: - pass + if key not in ('rpcuser', 'rpcpassword'): + value = json_decode(value) self.config.set_key(key, value) return True