diff --git a/onionshare_gui/onionshare_gui.py b/onionshare_gui/onionshare_gui.py index 9b7a35bd..508db655 100644 --- a/onionshare_gui/onionshare_gui.py +++ b/onionshare_gui/onionshare_gui.py @@ -387,11 +387,12 @@ class OnionShareGui(QtWidgets.QMainWindow): # If the auto-shutdown timer has stopped, stop the server if self.server_status.status == self.server_status.STATUS_STARTED: - if self.app.shutdown_timer and self.server_status.timer_enabled and self.timeout > 0: - if not self.app.shutdown_timer.is_alive(): - self.stop_server() - self.status_bar.showMessage(strings._('close_on_timeout',True)) - self.server_status.shutdown_timeout_reset() + if self.app.shutdown_timer and self.server_status.timer_enabled: + if self.timeout > 0: + if not self.app.shutdown_timer.is_alive(): + self.stop_server() + self.status_bar.showMessage(strings._('close_on_timeout',True)) + self.server_status.shutdown_timeout_reset() # scroll to the bottom of the dl progress bar log pane # if a new download has been added diff --git a/onionshare_gui/server_status.py b/onionshare_gui/server_status.py index 297bb791..452c2062 100644 --- a/onionshare_gui/server_status.py +++ b/onionshare_gui/server_status.py @@ -186,11 +186,14 @@ class ServerStatus(QtWidgets.QVBoxLayout): Toggle starting or stopping the server. """ if self.status == self.STATUS_STOPPED: - # Get the timeout chosen, stripped of its seconds. This prevents confusion if the share stops at (say) 37 seconds past the minute chosen - self.timeout = self.server_shutdown_timeout.dateTime().toPyDateTime().replace(second=0, microsecond=0) - # If the timeout has actually passed already before the user hit Start, refuse to start the server. - if QtCore.QDateTime.currentDateTime().toPyDateTime() > self.timeout: - Alert(strings._('gui_server_timeout_expired', QtWidgets.QMessageBox.Warning)) + if self.timer_enabled: + # Get the timeout chosen, stripped of its seconds. This prevents confusion if the share stops at (say) 37 seconds past the minute chosen + self.timeout = self.server_shutdown_timeout.dateTime().toPyDateTime().replace(second=0, microsecond=0) + # If the timeout has actually passed already before the user hit Start, refuse to start the server. + if QtCore.QDateTime.currentDateTime().toPyDateTime() > self.timeout: + Alert(strings._('gui_server_timeout_expired', QtWidgets.QMessageBox.Warning)) + else: + self.start_server() else: self.start_server() elif self.status == self.STATUS_STARTED: