forked from quickshell/quickshell
core/window: ensure window cannot be made visible during reload
This causes duplicate windows.
This commit is contained in:
parent
9625129844
commit
9cbd5abd96
|
@ -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) {
|
||||
|
|
|
@ -129,6 +129,7 @@ protected:
|
|||
PendingRegion* mMask = nullptr;
|
||||
QQuickWindow* window = nullptr;
|
||||
QQuickItem* mContentItem = nullptr;
|
||||
bool reloadComplete = false;
|
||||
|
||||
private:
|
||||
void updateMask();
|
||||
|
|
Loading…
Reference in a new issue