Skip to content

Commit 29de200

Browse files
committed
Fix getLegendGraphic
1 parent 0f3158a commit 29de200

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

src/mapserver/qgsserverprojectparser.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -946,7 +946,12 @@ QDomElement QgsServerProjectParser::firstComposerLegendElement() const
946946
{
947947
return QDomElement();
948948
}
949-
return composerElem.firstChildElement( "ComposerLegend" );
949+
QDomElement compositionElem = composerElem.firstChildElement( "Composition" );
950+
if ( compositionElem.isNull() )
951+
{
952+
return QDomElement();
953+
}
954+
return compositionElem.firstChildElement( "ComposerLegend" );
950955
}
951956

952957
QList<QDomElement> QgsServerProjectParser::publishedComposerElements() const

src/mapserver/qgswmsprojectparser.cpp

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -257,37 +257,44 @@ QStringList QgsWMSProjectParser::wfsLayerNames() const
257257

258258
double QgsWMSProjectParser::legendBoxSpace() const
259259
{
260-
return mProjectParser.firstComposerLegendElement().attribute( "boxSpace" ).toDouble();
260+
QDomElement legendElem = mProjectParser.firstComposerLegendElement();
261+
return legendElem.isNull() ? 2.0 : legendElem.attribute( "boxSpace" ).toDouble();
261262
}
262263

263264
double QgsWMSProjectParser::legendLayerSpace() const
264265
{
265-
return mProjectParser.firstComposerLegendElement().attribute( "layerSpace" ).toDouble();
266+
QDomElement legendElem = mProjectParser.firstComposerLegendElement();
267+
return legendElem.isNull() ? 3.0 : legendElem.attribute( "layerSpace" ).toDouble();
266268
}
267269

268270
double QgsWMSProjectParser::legendLayerTitleSpace() const
269271
{
270-
return mProjectParser.firstComposerLegendElement().attribute( "layerTitleSpace" ).toDouble();
272+
QDomElement legendElem = mProjectParser.firstComposerLegendElement();
273+
return legendElem.isNull() ? 3.0 : legendElem.attribute( "layerTitleSpace" ).toDouble();
271274
}
272275

273276
double QgsWMSProjectParser::legendSymbolSpace() const
274277
{
275-
return mProjectParser.firstComposerLegendElement().attribute( "symbolSpace" ).toDouble();
278+
QDomElement legendElem = mProjectParser.firstComposerLegendElement();
279+
return legendElem.isNull() ? 2.0 : legendElem.attribute( "symbolSpace" ).toDouble();
276280
}
277281

278282
double QgsWMSProjectParser::legendIconLabelSpace() const
279283
{
280-
return mProjectParser.firstComposerLegendElement().attribute( "iconLabelSpace" ).toDouble();
284+
QDomElement legendElem = mProjectParser.firstComposerLegendElement();
285+
return legendElem.isNull() ? 2.0 : legendElem.attribute( "iconLabelSpace" ).toDouble();
281286
}
282287

283288
double QgsWMSProjectParser::legendSymbolWidth() const
284289
{
285-
return mProjectParser.firstComposerLegendElement().attribute( "symbolWidth" ).toDouble();
290+
QDomElement legendElem = mProjectParser.firstComposerLegendElement();
291+
return legendElem.isNull() ? 7.0 : legendElem.attribute( "symbolWidth" ).toDouble();
286292
}
287293

288294
double QgsWMSProjectParser::legendSymbolHeight() const
289295
{
290-
return mProjectParser.firstComposerLegendElement().attribute( "symbolHeight" ).toDouble();
296+
QDomElement legendElem = mProjectParser.firstComposerLegendElement();
297+
return legendElem.isNull() ? 4.0 : legendElem.attribute( "symbolHeight" ).toDouble();
291298
}
292299

293300
const QFont& QgsWMSProjectParser::legendLayerFont() const

0 commit comments

Comments
 (0)