core/window: ensure window cannot be made visible during reload

This causes duplicate windows.
This commit is contained in:
outfoxxed 2024-03-27 02:38:54 -07:00
parent 9625129844
commit 9cbd5abd96
Signed by: outfoxxed
GPG Key ID: 4C88A185FB89301E
2 changed files with 4 additions and 1 deletions

View File

@ -51,6 +51,8 @@ void ProxyWindowBase::onReload(QObject* oldInstance) {
this->connectWindow();
this->completeWindow();
this->reloadComplete = true;
emit this->windowConnected();
this->postCompleteWindow();
@ -164,7 +166,7 @@ bool ProxyWindowBase::isVisibleDirect() const {
void ProxyWindowBase::setVisible(bool visible) {
this->mVisible = visible;
this->setVisibleDirect(visible);
if (this->reloadComplete) this->setVisibleDirect(visible);
}
void ProxyWindowBase::setVisibleDirect(bool visible) {

View File

@ -129,6 +129,7 @@ protected:
PendingRegion* mMask = nullptr;
QQuickWindow* window = nullptr;
QQuickItem* mContentItem = nullptr;
bool reloadComplete = false;
private:
void updateMask();