diff --git a/src/mapserver/qgswmsserver.cpp b/src/mapserver/qgswmsserver.cpp index c429cdf6673..edfec0676d3 100644 --- a/src/mapserver/qgswmsserver.cpp +++ b/src/mapserver/qgswmsserver.cpp @@ -1475,13 +1475,6 @@ int QgsWMSServer::featureInfoFromVectorLayer( QgsVectorLayer* layer, break; } - // Creates the gml:featureMember only if we have at least one element - if ( infoFormat.startsWith( "application/vnd.ogc.gml" ) && featureCounter == 1 ) - { - QDomElement realLayerElement = infoDocument.createElement( "gml:featureMember"/*wfs:FeatureMember*/ ); - layerElement.appendChild( realLayerElement ); - layerElement = realLayerElement; - } QgsFeatureRendererV2* r2 = layer->rendererV2(); if ( !r2 ) @@ -1504,7 +1497,9 @@ int QgsWMSServer::featureInfoFromVectorLayer( QgsVectorLayer* layer, bool withGeom = layer->wkbType() != QGis::WKBNoGeometry; int version = infoFormat.startsWith( "application/vnd.ogc.gml/3" ) ? 3 : 2; QDomElement elem = createFeatureGML( &feature, infoDocument, layerCrs, layer->name(), withGeom, version ); - layerElement.appendChild( elem ); + QDomElement featureMemberElem = infoDocument.createElement( "gml:featureMember"/*wfs:FeatureMember*/ ); + featureMemberElem.appendChild( elem ); + layerElement.appendChild( featureMemberElem ); continue; } else