Do not call Qt from non-Qt threads, this will segfault (give_error)

This commit is contained in:
ThomasV 2014-09-10 10:16:07 +02:00
parent 374daa25af
commit 410ac82667
1 changed files with 4 additions and 3 deletions

View File

@ -7,15 +7,16 @@ from time import sleep
from base64 import b64encode, b64decode from base64 import b64encode, b64decode
import electrum import electrum
from electrum_gui.qt.password_dialog import make_password_dialog, run_password_dialog
from electrum_gui.qt.util import ok_cancel_buttons, EnterButton
from electrum.account import BIP32_Account from electrum.account import BIP32_Account
from electrum.bitcoin import EncodeBase58Check, public_key_to_bc_address, bc_address_to_hash_160 from electrum.bitcoin import EncodeBase58Check, public_key_to_bc_address, bc_address_to_hash_160
from electrum.i18n import _ from electrum.i18n import _
from electrum.plugins import BasePlugin, hook from electrum.plugins import BasePlugin, hook
from electrum.transaction import deserialize from electrum.transaction import deserialize
from electrum.wallet import NewWallet from electrum.wallet import NewWallet
from electrum.util import print_error
from electrum_gui.qt.password_dialog import make_password_dialog, run_password_dialog
from electrum_gui.qt.util import ok_cancel_buttons, EnterButton
try: try:
from trezorlib.client import types from trezorlib.client import types
@ -32,7 +33,7 @@ def log(msg):
stderr.flush() stderr.flush()
def give_error(message): def give_error(message):
QMessageBox.warning(QDialog(), _('Warning'), _(message), _('OK')) print_error(message)
raise Exception(message) raise Exception(message)
class Plugin(BasePlugin): class Plugin(BasePlugin):