do not wait for interface when launching gui
authorecdsa <ecdsa@github>
Sun, 10 Mar 2013 09:15:09 +0000 (10:15 +0100)
committerecdsa <ecdsa@github>
Sun, 10 Mar 2013 09:15:09 +0000 (10:15 +0100)
electrum
lib/interface.py

index 18c915a..11e1017 100755 (executable)
--- a/electrum
+++ b/electrum
@@ -125,8 +125,7 @@ if __name__ == '__main__':
         interface = Interface(config, True)
         wallet.interface = interface
         interface.start()
-        if interface.is_connected:
-            interface.send([('server.peers.subscribe',[])])
+        interface.send([('server.peers.subscribe',[])])
 
         gui = gui.ElectrumGui(wallet, config)
 
@@ -241,8 +240,11 @@ if __name__ == '__main__':
             if not options.offline:
                 interface = Interface(config)
                 interface.start()
+                interface.connect_event.wait()
+                if not interface.is_connected:
+                    print_msg("Not connected, aborting.")
+                    sys.exit(1)
                 wallet.interface = interface
-
                 verifier = WalletVerifier(interface, config)
                 wallet.set_verifier(verifier)
 
@@ -359,6 +361,11 @@ if __name__ == '__main__':
         interface = Interface(config)
         interface.register_callback('connected', lambda: sys.stderr.write("Connected to " + interface.connection_msg + "\n"))
         interface.start()
+        # wait until connected
+        interface.connect_event.wait()
+        if not interface.is_connected:
+            print_msg("Not connected, aborting.")
+            sys.exit(1)
         wallet.interface = interface
         verifier = WalletVerifier(interface, config)
         wallet.set_verifier(verifier)
index 83e3c86..99a50bf 100644 (file)
@@ -586,11 +586,6 @@ class Interface(threading.Thread):
         return out
 
 
-    def start(self):
-        threading.Thread.start(self)
-        # wait until connection is established
-        self.connect_event.wait()
-
     def run(self):
         while True:
             self.init_interface()