diff --git a/src/LoginPage.cpp b/src/LoginPage.cpp index 05741ccaa1ea02e9333d8a0249e61909ab395ae9..fc91835949ec82812212ed7c3cb250d94530d1fe 100644 --- a/src/LoginPage.cpp +++ b/src/LoginPage.cpp @@ -315,10 +315,14 @@ LoginPage::checkHomeserverVersion() if (err || flows.flows.empty()) emit versionOkCb(LoginMethod::Password); - if (flows.flows[0].type == mtx::user_interactive::auth_types::sso) - emit versionOkCb(LoginMethod::SSO); - else - emit versionOkCb(LoginMethod::Password); + LoginMethod login_method = LoginMethod::Password; + for(const auto &flow : flows.flows) { + if (flow.type == mtx::user_interactive::auth_types::sso) { + login_method = LoginMethod::SSO; + break; + } + } + emit versionOk(login_method); }); }); }