diff --git a/src/layouts/QskGridLayoutEngine.cpp b/src/layouts/QskGridLayoutEngine.cpp index eff32810..33e1806a 100644 --- a/src/layouts/QskGridLayoutEngine.cpp +++ b/src/layouts/QskGridLayoutEngine.cpp @@ -560,13 +560,12 @@ void QskGridLayoutEngine::layoutItems() { for ( const auto& element : m_data->elements ) { - if ( !element.isIgnored() ) + auto item = element.item(); + + if ( item && qskIsVisibleToParent( item ) ) { - if ( auto item = element.item() ) - { - const auto grid = m_data->effectiveGrid( element ); - layoutItem( item, grid ); - } + const auto grid = m_data->effectiveGrid( element ); + layoutItem( item, grid ); } } } diff --git a/src/layouts/QskLinearLayoutEngine.cpp b/src/layouts/QskLinearLayoutEngine.cpp index c36ccf3e..446686dd 100644 --- a/src/layouts/QskLinearLayoutEngine.cpp +++ b/src/layouts/QskLinearLayoutEngine.cpp @@ -348,8 +348,11 @@ void QskLinearLayoutEngine::layoutItems() if ( auto item = element.item() ) { - const QRect grid( col, row, 1, 1 ); - layoutItem( item, grid ); + if ( qskIsVisibleToParent( item ) ) + { + const QRect grid( col, row, 1, 1 ); + layoutItem( item, grid ); + } } if ( m_data->orientation == Qt::Horizontal )