mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-28 00:17:30 -05:00
[BUGFIX][Server] Filter restorer modifying layers and not well restoring them
The Subsetstring is updated through QgsVectorLayer::setSubsetString and restored by QgsVectorDataProvider::setSubsetString and it's not idempotent. The solution is to use QgsVectorLayer::setSubsetString in the 2 cases.
This commit is contained in:
parent
70a21d47e9
commit
c869fa29b6
@ -61,10 +61,9 @@ void QgsOWSServerFilterRestorer::restoreLayerFilters( const QHash<QgsMapLayer *,
|
||||
QgsVectorLayer *filteredLayer = qobject_cast<QgsVectorLayer *>( filterIt.key() );
|
||||
if ( filteredLayer )
|
||||
{
|
||||
QgsVectorDataProvider *dp = filteredLayer->dataProvider();
|
||||
if ( dp )
|
||||
if ( !filteredLayer->setSubsetString( filterIt.value() ) )
|
||||
{
|
||||
dp->setSubsetString( filterIt.value() );
|
||||
QgsMessageLog::logMessage( QStringLiteral( "Layer does not support Subset String" ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user