diff --git a/src/controls/QskControl.cpp b/src/controls/QskControl.cpp index 0c85e56d..b80fd689 100644 --- a/src/controls/QskControl.cpp +++ b/src/controls/QskControl.cpp @@ -1107,8 +1107,11 @@ void QskControl::itemChange( QQuickItem::ItemChange change, { case QQuickItem::ItemParentHasChanged: { - if ( !d->explicitLocale ) - qskResolveLocale( this ); + if ( value.item ) + { + if ( !d->explicitLocale ) + qskResolveLocale( this ); + } // not necessarily correct, when parent != parentItem ??? qskSendEventTo( this, QEvent::ParentChange ); diff --git a/src/controls/QskInputPanel.cpp b/src/controls/QskInputPanel.cpp index eedfe7e3..d774258a 100644 --- a/src/controls/QskInputPanel.cpp +++ b/src/controls/QskInputPanel.cpp @@ -178,6 +178,9 @@ static qreal qskRowStretch( const QskInputPanel::KeyRow& keyRow ) stretch += qskKeyStretch( key ); } + if ( stretch == 0.0 ) + stretch = QskInputPanel::KeyCount; + return stretch; } diff --git a/src/controls/QskSkinnable.cpp b/src/controls/QskSkinnable.cpp index 6f6c3e0c..3c5427b9 100644 --- a/src/controls/QskSkinnable.cpp +++ b/src/controls/QskSkinnable.cpp @@ -117,8 +117,11 @@ public: ~PrivateData() { - if ( skinlet && skinlet->isOwnedBySkinnable() ) - delete skinlet; + if ( hasLocalSkinlet ) + { + if ( skinlet && skinlet->isOwnedBySkinnable() ) + delete skinlet; + } } QskSkinHintTable hintTable;