@@ -614,9 +614,9 @@ QImage* QgsWMSServer::getMap()
614
614
QMap<QString, QString> originalLayerFilters = applyRequestedLayerFilters ( layersList );
615
615
QStringList selectedLayerIdList = applyFeatureSelections ( layersList );
616
616
617
- QHash< QgsVectorLayer*, QgsFeatureRendererV2*> bkVectorRenderers;
618
- QHash< QgsRasterLayer*, QgsRasterRenderer* > bkRasterRenderers;
619
- QHash< QgsVectorLayer*, int > bkVectorOld;
617
+ QList< QPair< QgsVectorLayer*, QgsFeatureRendererV2*> > bkVectorRenderers;
618
+ QList< QPair< QgsRasterLayer*, QgsRasterRenderer* > > bkRasterRenderers;
619
+ QList< QPair< QgsVectorLayer*, unsigned int > > bkVectorOld;
620
620
621
621
applyOpacities ( layersList, bkVectorRenderers, bkVectorOld, bkRasterRenderers );
622
622
@@ -1986,8 +1986,9 @@ void QgsWMSServer::clearFeatureSelections( const QStringList& layerIds ) const
1986
1986
return ;
1987
1987
}
1988
1988
1989
- void QgsWMSServer::applyOpacities ( const QStringList& layerList, QHash<QgsVectorLayer*, QgsFeatureRendererV2*>& vectorRenderers, QHash<QgsVectorLayer*, int > vectorOld,
1990
- QHash< QgsRasterLayer*, QgsRasterRenderer* >& rasterRenderers )
1989
+ void QgsWMSServer::applyOpacities ( const QStringList& layerList, QList< QPair< QgsVectorLayer*, QgsFeatureRendererV2*> >& vectorRenderers,
1990
+ QList< QPair< QgsVectorLayer*, unsigned int > >& vectorOld,
1991
+ QList< QPair< QgsRasterLayer*, QgsRasterRenderer* > >& rasterRenderers )
1991
1992
{
1992
1993
// get opacity list
1993
1994
QMap<QString, QString>::const_iterator opIt = mParameterMap .find ( " OPACITIES" );
@@ -2035,7 +2036,7 @@ void QgsWMSServer::applyOpacities( const QStringList& layerList, QHash<QgsVector
2035
2036
{
2036
2037
QgsFeatureRendererV2* rendererV2 = vl->rendererV2 ();
2037
2038
// backup old renderer
2038
- vectorRenderers.insert ( vl, rendererV2->clone () );
2039
+ vectorRenderers.push_back ( qMakePair ( vl, rendererV2->clone () ) );
2039
2040
// modify symbols of current renderer
2040
2041
QgsSymbolV2List symbolList = rendererV2->symbols ();
2041
2042
QgsSymbolV2List::iterator symbolIt = symbolList.begin ();
@@ -2046,7 +2047,7 @@ void QgsWMSServer::applyOpacities( const QStringList& layerList, QHash<QgsVector
2046
2047
}
2047
2048
else // old symbology
2048
2049
{
2049
- vectorOld.insert ( vl, vl->getTransparency () );
2050
+ vectorOld.push_back ( qMakePair ( vl, vl->getTransparency () ) );
2050
2051
vl->setTransparency ( opacity );
2051
2052
}
2052
2053
@@ -2059,39 +2060,34 @@ void QgsWMSServer::applyOpacities( const QStringList& layerList, QHash<QgsVector
2059
2060
QgsRasterRenderer* rasterRenderer = rl->renderer ();
2060
2061
if ( rasterRenderer )
2061
2062
{
2062
- rasterRenderers.insert ( rl, dynamic_cast <QgsRasterRenderer*>( rasterRenderer->clone () ) );
2063
+ rasterRenderers.push_back ( qMakePair ( rl, dynamic_cast <QgsRasterRenderer*>( rasterRenderer->clone () ) ) );
2063
2064
rasterRenderer->setOpacity ( opacity / 255.0 );
2064
2065
}
2065
2066
}
2066
2067
}
2067
2068
}
2068
2069
}
2069
2070
2070
- void QgsWMSServer::restoreOpacities ( QHash<QgsVectorLayer*, QgsFeatureRendererV2*>& vectorRenderers, QHash<QgsVectorLayer*, int > vectorOld,
2071
- QHash < QgsRasterLayer*, QgsRasterRenderer* > & rasterRenderers )
2071
+ void QgsWMSServer::restoreOpacities ( QList< QPair< QgsVectorLayer*, QgsFeatureRendererV2*> >& vectorRenderers,
2072
+ QList< QPair< QgsVectorLayer*, unsigned int > >& vectorOld,
2073
+ QList < QPair< QgsRasterLayer*, QgsRasterRenderer* > >& rasterRenderers )
2072
2074
{
2073
- QHash< QgsVectorLayer*, QgsFeatureRendererV2*>::iterator vIt = vectorRenderers.begin ();
2075
+ QList< QPair< QgsVectorLayer*, QgsFeatureRendererV2*> >::iterator vIt = vectorRenderers.begin ();
2074
2076
for ( ; vIt != vectorRenderers.end (); ++vIt )
2075
2077
{
2076
- vIt. key () ->setRendererV2 ( vIt. value () );
2078
+ ( *vIt ). first ->setRendererV2 (( * vIt ). second );
2077
2079
}
2078
2080
2079
- QHash< QgsRasterLayer*, QgsRasterRenderer* >::iterator rIt = rasterRenderers.begin ();
2081
+ QList< QPair< QgsRasterLayer*, QgsRasterRenderer* > >::iterator rIt = rasterRenderers.begin ();
2080
2082
for ( ; rIt != rasterRenderers.end (); ++rIt )
2081
2083
{
2082
- if ( rIt.key () )
2083
- {
2084
- rIt.key ()->setRenderer ( rIt.value () );
2085
- }
2084
+ ( *rIt ).first ->setRenderer (( *rIt ).second );
2086
2085
}
2087
2086
2088
- QHash< QgsVectorLayer*, int >::iterator oIt = vectorOld.begin ();
2087
+ QList< QPair< QgsVectorLayer*, unsigned int > >::iterator oIt = vectorOld.begin ();
2089
2088
for ( ; oIt != vectorOld.end (); ++oIt )
2090
2089
{
2091
- if ( oIt.key () )
2092
- {
2093
- oIt.key ()->setTransparency ( oIt.value () );
2094
- }
2090
+ ( *oIt ).first ->setTransparency (( *oIt ).second );
2095
2091
}
2096
2092
}
2097
2093
0 commit comments