Browse Source

revert a9fc440, use Clock.schedule_interval to set address. Fixes #6810 and #6817

master
ThomasV 5 years ago
parent
commit
305ca90647
  1. 4
      electrum/gui/kivy/uix/dialogs/addresses.py
  2. 2
      electrum/gui/kivy/uix/screens.py

4
electrum/gui/kivy/uix/dialogs/addresses.py

@ -1,6 +1,7 @@
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
from kivy.app import App from kivy.app import App
from kivy.clock import Clock
from kivy.factory import Factory from kivy.factory import Factory
from kivy.properties import ObjectProperty from kivy.properties import ObjectProperty
from kivy.lang import Builder from kivy.lang import Builder
@ -206,7 +207,8 @@ class AddressPopup(Popup):
self.dismiss() self.dismiss()
self.parent_dialog.dismiss() self.parent_dialog.dismiss()
self.app.switch_to('receive') self.app.switch_to('receive')
self.app.receive_screen.set_address(self.address) # retry until receive_screen is set
Clock.schedule_interval(lambda dt: bool(self.app.receive_screen.set_address(self.address) and False) if self.app.receive_screen else True, 0.1)
def do_export(self, pk_label): def do_export(self, pk_label):
self.app.export_private_keys(pk_label, self.address) self.app.export_private_keys(pk_label, self.address)

2
electrum/gui/kivy/uix/screens.py

@ -71,6 +71,7 @@ class CScreen(Factory.Screen):
pass pass
def on_activate(self): def on_activate(self):
setattr(self.app, self.kvname + '_screen', self)
self.update() self.update()
def on_leave(self): def on_leave(self):
@ -618,7 +619,6 @@ class TabbedCarousel(Factory.TabbedPanel):
if carousel.current_slide != slide: if carousel.current_slide != slide:
carousel.current_slide.dispatch('on_leave') carousel.current_slide.dispatch('on_leave')
carousel.load_slide(slide) carousel.load_slide(slide)
setattr(slide.app, slide.kvname + '_screen', slide)
slide.dispatch('on_enter') slide.dispatch('on_enter')
def add_widget(self, widget, index=0): def add_widget(self, widget, index=0):

Loading…
Cancel
Save