summaryrefslogtreecommitdiff
path: root/src/mbgl/layermanager/layer_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/layermanager/layer_manager.cpp')
-rw-r--r--src/mbgl/layermanager/layer_manager.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mbgl/layermanager/layer_manager.cpp b/src/mbgl/layermanager/layer_manager.cpp
index 1e2074cd70..377d3acce4 100644
--- a/src/mbgl/layermanager/layer_manager.cpp
+++ b/src/mbgl/layermanager/layer_manager.cpp
@@ -14,14 +14,17 @@ namespace mbgl {
std::unique_ptr<style::Layer> LayerManager::createLayer(
const std::string& type, const std::string& id,
const style::conversion::Convertible& value, style::conversion::Error& error) noexcept {
- if (LayerFactory* factory = getFactory(type)) {
+ LayerFactory* factory = getFactory(type);
+ if (factory) {
auto layer = factory->createLayer(id, value);
if (!layer) {
- error.message = "Error parsing a layer of type: " + type;
+ error.message = "Error parsing layer " + id + " of type: " + type;
}
return layer;
+ } else {
+ error.message = "Null factory for type: " + type;
}
- error.message = "Unsupported layer type: " + type;
+ error.message = "Unsupported layer type! " + error.message;
return nullptr;
}