From 6450187902f0802626894f5728d2980cb1bdc21b Mon Sep 17 00:00:00 2001 From: f321x Date: Wed, 3 Dec 2025 12:49:27 +0100 Subject: [PATCH] qeqrscanner: check requestCode on activity result --- electrum/gui/qml/qeqrscanner.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/electrum/gui/qml/qeqrscanner.py b/electrum/gui/qml/qeqrscanner.py index 297479ba8..f7ed88378 100644 --- a/electrum/gui/qml/qeqrscanner.py +++ b/electrum/gui/qml/qeqrscanner.py @@ -19,6 +19,8 @@ if 'ANDROID_DATA' in os.environ: class QEQRScanner(QObject): + REQUEST_CODE_SIMPLE_SCANNER_ACTIVITY = 30368 # random 16 bit int + _logger = get_logger(__name__) foundText = pyqtSignal(str) @@ -54,9 +56,12 @@ class QEQRScanner(QObject): intent.putExtra(jIntent.EXTRA_TEXT, jString(self._hint)) activity.bind(on_activity_result=self.on_qr_activity_result) - jpythonActivity.startActivityForResult(intent, 0) + jpythonActivity.startActivityForResult(intent, self.REQUEST_CODE_SIMPLE_SCANNER_ACTIVITY) def on_qr_activity_result(self, requestCode, resultCode, intent): + if requestCode != self.REQUEST_CODE_SIMPLE_SCANNER_ACTIVITY: + self._logger.warning(f"got activity result with invalid {requestCode=}") + return try: if resultCode == -1: # RESULT_OK: if (contents := intent.getStringExtra(jString("text"))) is not None: