Skip to content

Commit ee0e90a

Browse files
committedJan 22, 2015
Report correct count of inserted nodes when adding legend nodes
1 parent aacb1bd commit ee0e90a

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed
 

‎src/core/layertree/qgslayertreemodel.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,24 +1079,27 @@ void QgsLayerTreeModel::addLegendToLayer( QgsLayerTreeLayer* nodeL )
10791079

10801080
bool isEmbedded = filteredLstNew.count() == 1 && filteredLstNew[0]->isEmbeddedInParent();
10811081

1082-
if ( ! isEmbedded ) beginInsertRows( node2index( nodeL ), 0, filteredLstNew.count() - 1 );
1083-
10841082
foreach ( QgsLayerTreeModelLegendNode* n, lstNew )
10851083
{
10861084
n->setParent( this );
10871085
connect( n, SIGNAL( dataChanged() ), this, SLOT( legendNodeDataChanged() ) );
10881086
}
10891087

1090-
LayerLegendData& data = mLegend[nodeL];
1088+
LayerLegendData data;
10911089
data.originalNodes = lstNew;
10921090
data.activeNodes = filteredLstNew;
1093-
10941091
data.tree = 0;
10951092

10961093
// maybe the legend nodes form a tree - try to create a tree structure from the list
10971094
if ( testFlag( ShowLegendAsTree ) )
10981095
tryBuildLegendTree( data );
10991096

1097+
int count = data.tree ? data.tree->children[0].count() : filteredLstNew.count();
1098+
1099+
if ( ! isEmbedded ) beginInsertRows( node2index( nodeL ), 0, count - 1 );
1100+
1101+
mLegend[nodeL] = data;
1102+
11001103
if ( ! isEmbedded ) endInsertRows();
11011104
}
11021105

0 commit comments

Comments
 (0)
Please sign in to comment.