diff --git a/generator/final_processor_intermediate_mwm.cpp b/generator/final_processor_intermediate_mwm.cpp index 2af6282284..160f83db15 100644 --- a/generator/final_processor_intermediate_mwm.cpp +++ b/generator/final_processor_intermediate_mwm.cpp @@ -136,9 +136,19 @@ public: }); } - void Process(FeatureBuilder const & fb) + static bool IsPlace(FeatureBuilder const & fb) { + auto const type = GetPlaceType(fb); + return type != ftype::GetEmptyValue() && !fb.GetName().empty(); + } + + bool Process(FeatureBuilder const & fb) + { + if (!IsPlace(fb)) + return false; + m_processor.TryUpdate(fb); + return true; } std::vector GetFeatures() const @@ -188,7 +198,7 @@ public: FeatureBuilderWriter writer(fullPath); for (size_t i = 0; i < fbs.size(); ++i) { - if (ftypes::IsCityTownOrVillage(fbs[i].GetTypes())) + if (CitiesHelper::IsPlace(fbs[i])) cities.emplace_back(std::move(fbs[i])); else writer.Write(std::move(fbs[i]));