diff --git a/map/framework.cpp b/map/framework.cpp index 16c1858e6a..b6ee74669d 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -467,6 +467,9 @@ Framework::Framework(FrameworkParams const & params) InitCountryInfoGetter(); LOG(LDEBUG, ("Country info getter initialized")); + InitUGC(); + LOG(LDEBUG, ("UGC initialized")); + InitSearchAPI(); LOG(LDEBUG, ("Search API initialized")); @@ -543,9 +546,6 @@ Framework::Framework(FrameworkParams const & params) m_trafficManager.SetSimplifiedColorScheme(LoadTrafficSimplifiedColors()); m_trafficManager.SetEnabled(LoadTrafficEnabled()); - InitUGC(); - LOG(LDEBUG, ("UGC initialized")); - m_adsEngine = make_unique(); InitTransliteration(); diff --git a/map/framework.hpp b/map/framework.hpp index bf927405d4..5a0697c85d 100644 --- a/map/framework.hpp +++ b/map/framework.hpp @@ -197,6 +197,10 @@ protected: LocalAdsManager m_localAdsManager; + // The order matters here: ugc::Api should be destroyed after + // SearchAPI and notifications::NotificationManager. + unique_ptr m_ugcApi; + unique_ptr m_searchAPI; search::QuerySaver m_searchQuerySaver; @@ -238,9 +242,6 @@ protected: RoutingManager m_routingManager; TrafficManager m_trafficManager; - - unique_ptr m_ugcApi; - User m_user; booking::filter::FilterProcessor m_bookingFilterProcessor;