diff options
author | Miguel Jacq <mig@mig5.net> | 2021-05-31 10:35:02 +1000 |
---|---|---|
committer | Miguel Jacq <mig@mig5.net> | 2021-05-31 10:35:02 +1000 |
commit | 64c7f4e5b85f74c2fd0d0cb0be91198b5ea23d56 (patch) | |
tree | 3ab1d4d8b70726dbadfaf30fefa35285bf634bf9 | |
parent | 2c73c0b1b01f6f1375e4c9a07dd328ae088d0d72 (diff) | |
download | onionshare-64c7f4e5b85f74c2fd0d0cb0be91198b5ea23d56.tar.gz onionshare-64c7f4e5b85f74c2fd0d0cb0be91198b5ea23d56.zip |
Make it impossible to cancel a share mid-startup, to avoid a thread segfault issue. Only autostart mode can cancel a share (after it is scheduled)
-rw-r--r-- | desktop/src/onionshare/resources/locale/en.json | 2 | ||||
-rw-r--r-- | desktop/src/onionshare/tab/mode/__init__.py | 8 | ||||
-rw-r--r-- | desktop/src/onionshare/tab/server_status.py | 2 |
3 files changed, 2 insertions, 10 deletions
diff --git a/desktop/src/onionshare/resources/locale/en.json b/desktop/src/onionshare/resources/locale/en.json index a847264b..b61f714d 100644 --- a/desktop/src/onionshare/resources/locale/en.json +++ b/desktop/src/onionshare/resources/locale/en.json @@ -33,7 +33,7 @@ "gui_show_url_qr_code": "Show QR Code", "gui_qr_code_dialog_title": "OnionShare QR Code", "gui_waiting_to_start": "Scheduled to start in {}. Click to cancel.", - "gui_please_wait": "Starting… Click to cancel.", + "gui_please_wait": "Starting…", "error_rate_limit": "Someone has made too many wrong attempts to guess your password, so OnionShare has stopped the server. Start sharing again and send the recipient a new address to share.", "zip_progress_bar_format": "Compressing: %p%", "gui_settings_window_title": "Settings", diff --git a/desktop/src/onionshare/tab/mode/__init__.py b/desktop/src/onionshare/tab/mode/__init__.py index 16944af8..dbdb4ce4 100644 --- a/desktop/src/onionshare/tab/mode/__init__.py +++ b/desktop/src/onionshare/tab/mode/__init__.py @@ -354,14 +354,6 @@ class Mode(QtWidgets.QWidget): self.app.onion.scheduled_key = None self.app.onion.scheduled_auth_cookie = None self.startup_thread.quit() - if self.onion_thread: - self.common.log("Mode", "cancel_server: quitting onion thread") - self.onion_thread.terminate() - self.onion_thread.wait() - if self.web_thread: - self.common.log("Mode", "cancel_server: quitting web thread") - self.web_thread.terminate() - self.web_thread.wait() self.stop_server() def cancel_server_custom(self): diff --git a/desktop/src/onionshare/tab/server_status.py b/desktop/src/onionshare/tab/server_status.py index 7ca1af09..a830473e 100644 --- a/desktop/src/onionshare/tab/server_status.py +++ b/desktop/src/onionshare/tab/server_status.py @@ -379,7 +379,7 @@ class ServerStatus(QtWidgets.QWidget): self.start_server() elif self.status == self.STATUS_STARTED: self.stop_server() - elif self.status == self.STATUS_WORKING: + elif self.status == self.STATUS_WORKING and self.settings.get("general", "autostart_timer"): self.cancel_server() self.button_clicked.emit() |