From 174cbde7621ba5ab1a3416ed51462352dd5a2d2c Mon Sep 17 00:00:00 2001 From: SomberNight Date: Thu, 6 Oct 2022 16:05:21 +0000 Subject: [PATCH] kivy: window.request_focus_for_main_view: fix compat with newer pyjnius ``` Traceback (most recent call last): File "kivy/_clock.pyx", line 645, in kivy._clock.CyClockBase._process_events File "kivy/_clock.pyx", line 218, in kivy._clock.ClockEvent.tick File "/home/user/wspace/electrum/.buildozer_kivy/android/app/electrum/gui/kivy/uix/dialogs/password_dialog.py", line 227, in File "/home/user/wspace/electrum/.buildozer_kivy/android/app/electrum/gui/kivy/uix/dialogs/password_dialog.py", line 333, in File "/home/user/wspace/electrum/.buildozer_kivy/android/app/electrum/gui/kivy/main_window.py", line 721, in on_open_wallet File "/home/user/wspace/electrum/.buildozer_kivy/android/app/electrum/gui/kivy/main_window.py", line 687, in on_wizard_success File "/home/user/wspace/electrum/.buildozer_kivy/android/app/electrum/util.py", line 445, in File "/home/user/wspace/electrum/.buildozer_kivy/android/app/electrum/util.py", line 441, in do_profile File "/home/user/wspace/electrum/.buildozer_kivy/android/app/electrum/gui/kivy/main_window.py", line 940, in load_wallet File "/home/user/wspace/electrum/.buildozer_kivy/android/app/electrum/gui/kivy/main_window.py", line 950, in request_focus_for_main_view File "jnius/jnius_export_class.pxi", line 844, in jnius.jnius.JavaMethod.__call__ jnius.jnius.JavaException: Cannot call instance method b'requestFocusForMainView' on class b'org/kivy/android/PythonActivity' ``` --- electrum/gui/kivy/main_window.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/electrum/gui/kivy/main_window.py b/electrum/gui/kivy/main_window.py index d27dc677b..05b034caf 100644 --- a/electrum/gui/kivy/main_window.py +++ b/electrum/gui/kivy/main_window.py @@ -947,7 +947,8 @@ class ElectrumWindow(App, Logger, EventListener): # see #6276 (specifically "method 2" and "method 3") from jnius import autoclass PythonActivity = autoclass('org.kivy.android.PythonActivity') - PythonActivity.requestFocusForMainView() + activity = PythonActivity.mActivity + activity.requestFocusForMainView() def update_status(self, *dt): if not self.wallet: