Skip to content

Commit 6649825

Browse files
committed
Prevent crash when model is not set
1 parent 8309c3c commit 6649825

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

src/gui/layertree/qgslayertreeview.cpp

+15-11
Original file line numberDiff line numberDiff line change
@@ -253,18 +253,22 @@ void QgsLayerTreeView::updateExpandedStateFromNode( QgsLayerTreeNode* node )
253253

254254
QgsMapLayer* QgsLayerTreeView::layerForIndex( const QModelIndex& index ) const
255255
{
256-
QgsLayerTreeNode* node = layerTreeModel()->index2node( index );
257-
if ( node )
256+
// Check if model has been set and index is valid
257+
if ( layerTreeModel() && index.isValid( ) )
258258
{
259-
if ( QgsLayerTree::isLayer( node ) )
260-
return QgsLayerTree::toLayer( node )->layer();
261-
}
262-
else
263-
{
264-
// possibly a legend node
265-
QgsLayerTreeModelLegendNode* legendNode = layerTreeModel()->index2legendNode( index );
266-
if ( legendNode )
267-
return legendNode->layerNode()->layer();
259+
QgsLayerTreeNode* node = layerTreeModel()->index2node( index );
260+
if ( node )
261+
{
262+
if ( QgsLayerTree::isLayer( node ) )
263+
return QgsLayerTree::toLayer( node )->layer();
264+
}
265+
else
266+
{
267+
// possibly a legend node
268+
QgsLayerTreeModelLegendNode* legendNode = layerTreeModel()->index2legendNode( index );
269+
if ( legendNode )
270+
return legendNode->layerNode()->layer();
271+
}
268272
}
269273

270274
return nullptr;

0 commit comments

Comments
 (0)