diff options
Diffstat (limited to 'search/editor_delegate.cpp')
-rw-r--r-- | search/editor_delegate.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/search/editor_delegate.cpp b/search/editor_delegate.cpp index d90a6111ab..0cb7383adc 100644 --- a/search/editor_delegate.cpp +++ b/search/editor_delegate.cpp @@ -18,20 +18,22 @@ MwmSet::MwmId EditorDelegate::GetMwmIdByMapName(string const & name) const return m_dataSource.GetMwmIdByCountryFile(platform::CountryFile(name)); } -unique_ptr<FeatureType> EditorDelegate::GetOriginalFeature(FeatureID const & fid) const +unique_ptr<osm::EditableMapObject> EditorDelegate::GetOriginalMapObject(FeatureID const & fid) const { FeaturesLoaderGuard guard(m_dataSource, fid.m_mwmId); auto feature = guard.GetOriginalFeatureByIndex(fid.m_index); - if (feature) - feature->ParseEverything(); + if (!feature) + return {}; - return feature; + auto object = make_unique<osm::EditableMapObject>(); + object->SetFromFeatureType(*feature); + return object; } -string EditorDelegate::GetOriginalFeatureStreet(FeatureType & ft) const +string EditorDelegate::GetOriginalFeatureStreet(FeatureID const & fid) const { search::ReverseGeocoder const coder(m_dataSource); - return coder.GetOriginalFeatureStreetName(ft); + return coder.GetOriginalFeatureStreetName(fid); } void EditorDelegate::ForEachFeatureAtPoint(osm::Editor::FeatureTypeFn && fn, |