diff --git a/src/QmlControls/QGCView.qml b/src/QmlControls/QGCView.qml index f02715e3ff3833704cc14343419e0a029240a1ba..483fa6e626a35f4011eaddd2b8ae5bf99f52df42 100644 --- a/src/QmlControls/QGCView.qml +++ b/src/QmlControls/QGCView.qml @@ -37,6 +37,8 @@ import QGroundControl.FactControls 1.0 FactPanel { id: __rootItem + property bool __completedSignalled: false + property Component viewComponent /// This is signalled when the top level Item reaches Component.onCompleted. This allows @@ -164,7 +166,19 @@ FactPanel { property Component __dialogComponent - Component.onCompleted: completed() + function __signalCompleted() { + // When we use this control inside a QGCQmlWidgetHolder Component.onCompleted is signalled + // before the width and height are adjusted. So we need to wait for width and heigth to be + // set before we signal our own completed signal. + if (!__completedSignalled && width != 0 && height != 0) { + __completedSignalled = true + completed() + } + } + + Component.onCompleted: __signalCompleted() + onWidthChanged: __signalCompleted() + onHeightChanged: __signalCompleted() Connections { target: __viewPanel.item