Skip to content

Commit 1de7b42

Browse files
committed
Ensure multilinestring dimensionality is respected when adding new lines
1 parent ed72e37 commit 1de7b42

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/core/geometry/qgsmultilinestring.cpp

+12-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,18 @@ bool QgsMultiLineString::addGeometry( QgsAbstractGeometry *g )
116116
return false;
117117
}
118118

119-
setZMTypeFromSubGeometry( g, QgsWkbTypes::MultiLineString );
119+
if ( mGeometries.empty() )
120+
{
121+
setZMTypeFromSubGeometry( g, QgsWkbTypes::MultiLineString );
122+
}
123+
if ( is3D() && !g->is3D() )
124+
g->addZValue();
125+
else if ( !is3D() && g->is3D() )
126+
g->dropZValue();
127+
if ( isMeasure() && !g->isMeasure() )
128+
g->addMValue();
129+
else if ( !isMeasure() && g->isMeasure() )
130+
g->dropMValue();
120131
return QgsGeometryCollection::addGeometry( g );
121132
}
122133

0 commit comments

Comments
 (0)