Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[BUGFIX] Embedded groups are empty
  • Loading branch information
pblottiere authored and wonder-sk committed Mar 12, 2017
1 parent 7293c05 commit d10d677
Show file tree
Hide file tree
Showing 4 changed files with 894 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/core/qgsproject.cpp
Expand Up @@ -876,14 +876,14 @@ bool QgsProject::read()
vl->resolveReferences( this );
}

// now that layers are loaded, we can resolve layer tree's references to the layers
mRootGroup->resolveReferences( this );

mLayerTreeRegistryBridge->setEnabled( true );

// load embedded groups and layers
loadEmbeddedNodes( mRootGroup );

// now that layers are loaded, we can resolve layer tree's references to the layers
mRootGroup->resolveReferences( this );

// make sure the are just valid layers
QgsLayerTreeUtils::removeInvalidLayers( mRootGroup );

Expand Down
18 changes: 18 additions & 0 deletions tests/src/python/test_qgsproject.py
Expand Up @@ -158,6 +158,24 @@ def testReadEntry(self):
# invalid key
self.assertEqual(prj.readNumEntry("SpatialRefSys", "/InvalidKey", -1)[0], -1)

def testEmbeddedGroup(self):
testdata_path = unitTestDataPath('embedded_groups') + '/'

prj_path = os.path.join(testdata_path, "project2.qgs")
prj = QgsProject()
prj.read(prj_path)

layer_tree_group = prj.layerTreeRoot()
layers_ids = layer_tree_group.findLayerIds()

layers_names = []
for layer_id in layers_ids:
name = prj.mapLayer(layer_id).name()
layers_names.append(name)

expected = ['polys', 'lines']
self.assertEqual(sorted(layers_names), sorted(expected))


if __name__ == '__main__':
unittest.main()

0 comments on commit d10d677

Please sign in to comment.