File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -504,6 +504,7 @@ void Controller::activateInternal(
504504 QList<InterfaceConfig> serverConfigs =
505505 setupConfigs (dnsPort, serverSelectionPolicy);
506506 if (serverConfigs.isEmpty ()) {
507+ logger.info () << " Config setup error" ;
507508 // Error in setupConfigs, so do not continue
508509 return ;
509510 }
@@ -900,7 +901,17 @@ void Controller::maybeSendUpdatedConfig(const ServerData& serverData) {
900901 m_serverData = serverData;
901902 QList<InterfaceConfig> serverConfigs =
902903 setupConfigs (DoNotForceDNSPort, RandomizeServerSelection);
904+ if (serverConfigs.isEmpty ()) {
905+ // Error in setupConfigs, so do not continue
906+ // This most commonly happens when signing out -
907+ // Controller::serverDataChanged is called because all settings emit a
908+ // changed signal while updating the settings during sign out. However
909+ // when signing out, there is no new server data to send.
910+ logger.info () << " Error setting up configs" ;
911+ return ;
912+ }
903913 Q_ASSERT (serverConfigs.size () == 1 || serverConfigs.size () == 2 );
914+
904915 InterfaceConfig exitConfig = serverConfigs.takeLast ();
905916 InterfaceConfig entryConfig;
906917 if (!serverConfigs.isEmpty ()) {
You can’t perform that action at this time.
0 commit comments