[qtbase] Check alternative connections when connecting. Contributes to JB#47349
QNetworkAccessManager keeps track of a single connected session (e.g. Wifi, mobile data) at a time. If the currently tracked session disconnects, it checks whether any other network configuration is online, and if so, it switches to make this the current session. However, if the currently tracked session changes to the Connecting state, QNetworkAccessManager will claim the network is inaccessible, even if other configurations are online, and will refuse to switch to a different session until the current session state changes from Connecting to either Connected or Disconnected. Unfortunately, occassionally Wifi connections will move into the Connecting state and potentially not switch to the Connected or Disconnected state for some time, which can block connectivity for apps using QNetworkAccessManager to maintain connections (it's not clear whether this is because the connection actually gets stuck, or because the state change signals get lost somewhere; the result is the same). This change makes QNetworkAccessManager switch connection in case the current session moves to the Connecting state while another online configuration is available to use instead.
Showing with 1 addition and 6 deletions