Skip to content

Commit ea0ed29

Browse files
nyalldawsonrldhont
authored andcommittedJun 1, 2019
Don't show a 'invalid layer source' warning if a user opens a multi-layer
vector file, but then chooses not to actually add any layers from the file
1 parent 8ae3802 commit ea0ed29

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed
 

‎src/app/qgisapp.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4608,6 +4608,7 @@ bool QgisApp::addVectorLayersPrivate( const QStringList &layerQStringList, const
46084608
QList<QgsMapLayer *> layersToAdd;
46094609
QList<QgsMapLayer *> addedLayers;
46104610
QgsSettings settings;
4611+
bool userAskedToAddLayers = false;
46114612

46124613
for ( QString src : layerQStringList )
46134614
{
@@ -4679,6 +4680,7 @@ bool QgisApp::addVectorLayersPrivate( const QStringList &layerQStringList, const
46794680

46804681
if ( layer->isValid() )
46814682
{
4683+
userAskedToAddLayers = true;
46824684
layer->setProviderEncoding( enc );
46834685

46844686
QStringList sublayers = layer->dataProvider()->subLayers();
@@ -4734,7 +4736,9 @@ bool QgisApp::addVectorLayersPrivate( const QStringList &layerQStringList, const
47344736
// make sure at least one layer was successfully added
47354737
if ( layersToAdd.isEmpty() )
47364738
{
4737-
return !addedLayers.isEmpty();
4739+
// we also return true if we asked the user for sublayers, but they choose none. In this case nothing
4740+
// went wrong, so we shouldn't return false and cause GUI warnings to appear
4741+
return userAskedToAddLayers || !addedLayers.isEmpty();
47384742
}
47394743

47404744
// Register this layer with the layers registry

0 commit comments

Comments
 (0)
Please sign in to comment.