From c517b202373fd7079d110106a39fa5c69daea611 Mon Sep 17 00:00:00 2001 From: Joel Brown Date: Tue, 12 Aug 2014 23:09:42 -0700 Subject: [PATCH] add ogr plugin error handling to master/3.x --- plugins/input/ogr/ogr_datasource.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/input/ogr/ogr_datasource.cpp b/plugins/input/ogr/ogr_datasource.cpp index 8e02ece24..eeb786b7a 100644 --- a/plugins/input/ogr/ogr_datasource.cpp +++ b/plugins/input/ogr/ogr_datasource.cpp @@ -261,7 +261,13 @@ void ogr_datasource::init(mapnik::parameters const& params) else { OGREnvelope envelope; - layer->GetExtent(&envelope); + OGRErr e = layer->GetExtent(&envelope); + if (e == OGRERR_FAILURE) + { + std::ostringstream s; + s << "OGR Plugin: Extent missing for layer '" << layer->GetName() << "'. Use paramater to define a custom extent value."; + throw datasource_exception(s.str()); + } extent_.init(envelope.MinX, envelope.MinY, envelope.MaxX, envelope.MaxY); }