From e05e9e576bd35e61ce69150621e5274f8a9fdbf9 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 9 Nov 2025 13:11:19 +0300 Subject: [PATCH] file and protocol handling made more safe --- src/app.py | 11 ++++++++++- src/mainwindow.py | 8 ++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/app.py b/src/app.py index 62d4b1e..58231c9 100644 --- a/src/app.py +++ b/src/app.py @@ -12,6 +12,15 @@ def main(): app.setWindowIcon(QIcon(AE_ICON_PATH)) mainWindow = MainWindow() - mainWindow.show() + + show_window = True + + for arg in sys.argv: + if 'misterhorsepm://' in arg or '.aep' in arg: + show_window = False + break + + if show_window: + mainWindow.show() return app.exec() \ No newline at end of file diff --git a/src/mainwindow.py b/src/mainwindow.py index 46ab2a1..7c15505 100644 --- a/src/mainwindow.py +++ b/src/mainwindow.py @@ -106,7 +106,6 @@ class MainWindow(MainWindowUI): self.run_mhtb_thread.finished_signal.connect(self._finished) self.run_mhtb_thread.start() - exit(0) def try_autoopen_aep(self): self.run_ae_thread.clear_aep_file_arg() @@ -127,7 +126,6 @@ class MainWindow(MainWindowUI): self.run_ae_thread.add_aep_file_arg(aep_file) self.run_ae_button_clicked() - exit(0) def init_installation(self): if check_aegnux_installed(): @@ -189,6 +187,12 @@ class MainWindow(MainWindowUI): @Slot(bool) def _finished(self, success: bool): + if self.ran_from_mhtb_link: + exit(0) + + if self.ran_from_aep_file: + exit(0) + self.lock_ui(False) self.progress_bar.hide() self.init_installation()