From 0f66a892363a6f0972726da14fd7dfae4e75f8bc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 18 Jun 2019 12:34:52 +0200 Subject: [PATCH] [welcome] Only do GeoIP query if it's useful - If badly-configured, then type is none; this is warned about in the constructor of Handler() - Only run the query if it's a useful type. --- src/modules/welcome/WelcomeViewStep.cpp | 26 ++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/modules/welcome/WelcomeViewStep.cpp b/src/modules/welcome/WelcomeViewStep.cpp index cccf49458..938fe1f45 100644 --- a/src/modules/welcome/WelcomeViewStep.cpp +++ b/src/modules/welcome/WelcomeViewStep.cpp @@ -128,16 +128,24 @@ WelcomeViewStep::setConfigurationMap( const QVariantMap& configurationMap ) CalamaresUtils::getString( geoip, "style" ), CalamaresUtils::getString( geoip, "url" ), CalamaresUtils::getString( geoip, "selector" ) ); - auto* future = new FWString(); - connect( future, &FWString::finished, [view=this, f=future, h=handler]() + if ( handler->type() != CalamaresUtils::GeoIP::Handler::Type::None ) { - QString countryResult = f->future().result(); - cDebug() << "GeoIP result for welcome=" << countryResult; - view->setCountry( countryResult, h ); - f->deleteLater(); - delete h; - } ); - future->setFuture( handler->queryRaw() ); + auto* future = new FWString(); + connect( future, &FWString::finished, [view=this, f=future, h=handler]() + { + QString countryResult = f->future().result(); + cDebug() << "GeoIP result for welcome=" << countryResult; + view->setCountry( countryResult, h ); + f->deleteLater(); + delete h; + } ); + future->setFuture( handler->queryRaw() ); + } + else + { + // Would not produce useful country code anyway. + delete handler; + } }