diff --git a/drape/render_state.cpp b/drape/render_state.cpp index c02cb814d1..b4c0081627 100644 --- a/drape/render_state.cpp +++ b/drape/render_state.cpp @@ -236,6 +236,8 @@ void TextureState::ApplyTextures(ref_ptr context, RenderState c { auto const it = bindings.find(texture.first); CHECK(it != bindings.end(), ("Texture bindings inconsistency.")); + CHECK(texture.second != nullptr, ("Texture must be set for Vulkan rendering", + texture.first, p->GetName())); ref_ptr t = texture.second->GetHardwareTexture(); if (t == nullptr) diff --git a/drape_frontend/apply_feature_functors.cpp b/drape_frontend/apply_feature_functors.cpp index b99decfa92..1346d6e386 100644 --- a/drape_frontend/apply_feature_functors.cpp +++ b/drape_frontend/apply_feature_functors.cpp @@ -595,11 +595,14 @@ void ApplyPointFeature::Finish(ref_ptr texMng) : SpecialDisplacement::None; params.m_specialPriority = specialModePriority; - m_insertShape(make_unique_dp(m2::PointD(m_centerPoint), params, m_tileKey, 0 /* text index */)); - dp::TextureManager::SymbolRegion region; texMng->GetSymbolRegion(params.m_symbolName, region); symbolSize = region.GetPixelSize(); + + if (region.IsValid()) + m_insertShape(make_unique_dp(m2::PointD(m_centerPoint), params, m_tileKey, 0 /* text index */)); + else + LOG(LERROR, ("Style error. Symbol name must be valid for feature", m_id)); } for (auto textParams : m_textParams)