diff --git a/src/core/qgsdataitem.cpp b/src/core/qgsdataitem.cpp index 8d76c083d10d..124692229248 100644 --- a/src/core/qgsdataitem.cpp +++ b/src/core/qgsdataitem.cpp @@ -345,8 +345,16 @@ void QgsDataItem::refresh() void QgsDataItem::refreshConnections() { - refresh(); - emit connectionsChanged(); + // Walk up until the root node is reached + if ( mParent ) + { + mParent->refreshConnections(); + } + else + { + refresh(); + emit connectionsChanged(); + } } void QgsDataItem::refresh( const QVector &children )