diff options
-rw-r--r-- | changes/bug-3067_faulty-multiple-provider-selection | 1 | ||||
-rw-r--r-- | src/leap/gui/mainwindow.py | 15 |
2 files changed, 11 insertions, 5 deletions
diff --git a/changes/bug-3067_faulty-multiple-provider-selection b/changes/bug-3067_faulty-multiple-provider-selection new file mode 100644 index 00000000..fef95a6e --- /dev/null +++ b/changes/bug-3067_faulty-multiple-provider-selection @@ -0,0 +1 @@ + o Bugfix: reload config if switching to a different provider. Closes #3067. diff --git a/src/leap/gui/mainwindow.py b/src/leap/gui/mainwindow.py index 5e7965dd..7180139a 100644 --- a/src/leap/gui/mainwindow.py +++ b/src/leap/gui/mainwindow.py @@ -698,11 +698,16 @@ class MainWindow(QtGui.QMainWindow): """ if data[self._provider_bootstrapper.PASSED_KEY]: provider = self._login_widget.get_selected_provider() - if self._provider_config.loaded() or \ - self._provider_config.load(os.path.join("leap", - "providers", - provider, - "provider.json")): + + # If there's no loaded provider or + # we want to connect to other provider... + if (not self._provider_config.loaded() or + self._provider_config.get_domain() != provider): + self._provider_config.load( + os.path.join("leap", "providers", + provider, "provider.json")) + + if self._provider_config.loaded(): self._provider_bootstrapper.run_provider_setup_checks( self._provider_config, download_if_needed=True) |