diff --git a/src/layouts/QskGridBox.cpp b/src/layouts/QskGridBox.cpp index fcd1169e..583650ab 100644 --- a/src/layouts/QskGridBox.cpp +++ b/src/layouts/QskGridBox.cpp @@ -384,7 +384,18 @@ QSizeF QskGridBox::layoutSizeHint( return QSizeF(); } - return m_data->engine.sizeHint( which, constraint ); + auto hint = m_data->engine.sizeHint( which, constraint ); + + if ( constraint.width() >= 0.0 ) + { + hint.setWidth( -1.0 ); + } + else if ( constraint.height() >= 0.0 ) + { + hint.setHeight( -1.0 ); + } + + return hint; } void QskGridBox::geometryChangeEvent( QskGeometryChangeEvent* event ) diff --git a/src/layouts/QskLinearBox.cpp b/src/layouts/QskLinearBox.cpp index 9b1aa07b..ca01e6cc 100644 --- a/src/layouts/QskLinearBox.cpp +++ b/src/layouts/QskLinearBox.cpp @@ -212,7 +212,18 @@ QSizeF QskLinearBox::layoutSizeHint( return QSizeF(); } - return m_data->engine.sizeHint( which, constraint ); + auto hint = m_data->engine.sizeHint( which, constraint ); + + if ( constraint.width() >= 0.0 ) + { + hint.setWidth( -1.0 ); + } + else if ( constraint.height() >= 0.0 ) + { + hint.setHeight( -1.0 ); + } + + return hint; } void QskLinearBox::geometryChangeEvent( QskGeometryChangeEvent* event )