Ensure multilinestring dimensionality is respected when adding new lines

This commit is contained in:
Nyall Dawson 2017-09-26 06:30:08 +10:00
parent ed72e37f0b
commit 1de7b42588

View File

@ -116,7 +116,18 @@ bool QgsMultiLineString::addGeometry( QgsAbstractGeometry *g )
return false;
}
setZMTypeFromSubGeometry( g, QgsWkbTypes::MultiLineString );
if ( mGeometries.empty() )
{
setZMTypeFromSubGeometry( g, QgsWkbTypes::MultiLineString );
}
if ( is3D() && !g->is3D() )
g->addZValue();
else if ( !is3D() && g->is3D() )
g->dropZValue();
if ( isMeasure() && !g->isMeasure() )
g->addMValue();
else if ( !isMeasure() && g->isMeasure() )
g->dropMValue();
return QgsGeometryCollection::addGeometry( g );
}