diff --git a/src/cpp/proxywindow.cpp b/src/cpp/proxywindow.cpp index a7bf939..f9dc192 100644 --- a/src/cpp/proxywindow.cpp +++ b/src/cpp/proxywindow.cpp @@ -98,9 +98,14 @@ void ProxyWindowBase::dataRemoveLast(QQmlListProperty* prop) { backer.removeLast(&backer); } -void ProxyFloatingWindow::setVisible(bool value) { - this->geometryLocked |= value; - ProxyWindowBase::setVisible(value); +void ProxyFloatingWindow::earlyInit(QObject* old) { + ProxyWindowBase::earlyInit(old); + this->geometryLocked = this->window->isVisible(); +} + +void ProxyFloatingWindow::componentComplete() { + ProxyWindowBase::componentComplete(); + this->geometryLocked = true; } void ProxyFloatingWindow::setWidth(qint32 value) { diff --git a/src/cpp/proxywindow.hpp b/src/cpp/proxywindow.hpp index 35240f5..2526f6c 100644 --- a/src/cpp/proxywindow.hpp +++ b/src/cpp/proxywindow.hpp @@ -77,7 +77,9 @@ class ProxyFloatingWindow: public ProxyWindowBase { QML_ELEMENT; public: - void setVisible(bool value) override; + void earlyInit(QObject* old) override; + void componentComplete() override; + void setWidth(qint32 value) override; void setHeight(qint32 value) override;