Compare commits

...

2 commits

Author SHA1 Message Date
Manuel Romei
191085a882
ipc: use deleteLater() in IpcServerConnection to prevent use-after-free
Some checks failed
Build / Nix-6 (push) Has been cancelled
Build / Nix-7 (push) Has been cancelled
Build / Nix-8 (push) Has been cancelled
Build / Nix-9 (push) Has been cancelled
Build / Nix-10 (push) Has been cancelled
Build / Nix-11 (push) Has been cancelled
Build / Nix-12 (push) Has been cancelled
Build / Nix-13 (push) Has been cancelled
Build / Nix-14 (push) Has been cancelled
Build / Nix-15 (push) Has been cancelled
Build / Nix-16 (push) Has been cancelled
Build / Nix-17 (push) Has been cancelled
Build / Nix-18 (push) Has been cancelled
Build / Nix-19 (push) Has been cancelled
Build / Nix-20 (push) Has been cancelled
Build / Nix-21 (push) Has been cancelled
Build / Nix-22 (push) Has been cancelled
Build / Nix-23 (push) Has been cancelled
Build / Nix-24 (push) Has been cancelled
Build / Nix-25 (push) Has been cancelled
Build / Nix-26 (push) Has been cancelled
Build / Nix-27 (push) Has been cancelled
Build / Nix-28 (push) Has been cancelled
Build / Nix-29 (push) Has been cancelled
Build / Nix-30 (push) Has been cancelled
Build / Nix-31 (push) Has been cancelled
Build / Nix-32 (push) Has been cancelled
Build / Nix-33 (push) Has been cancelled
Build / Archlinux (push) Has been cancelled
Lint / Lint (push) Has been cancelled
2026-01-21 00:50:39 -08:00
bbedward
8fd0de4580 core/proxywindow: create window on visibility for lazily initialized windows 2026-01-20 16:10:45 -05:00
2 changed files with 12 additions and 6 deletions

View file

@ -61,7 +61,7 @@ IpcServerConnection::IpcServerConnection(QLocalSocket* socket, IpcServer* server
void IpcServerConnection::onDisconnected() {
qCInfo(logIpc) << "IPC connection disconnected" << this;
delete this;
this->deleteLater();
}
void IpcServerConnection::onReadyRead() {
@ -88,7 +88,7 @@ void IpcServerConnection::onReadyRead() {
// async connections reparent
if (dynamic_cast<IpcServer*>(this->parent()) != nullptr) {
delete this;
this->deleteLater();
}
}

View file

@ -288,12 +288,18 @@ void ProxyWindowBase::setVisibleDirect(bool visible) {
this->bBackerVisibility = false;
this->deleteWindow();
}
} else if (this->window != nullptr) {
} else {
if (visible && this->window == nullptr) {
this->createWindow();
}
if (this->window != nullptr) {
if (visible) this->polishItems();
this->window->setVisible(visible);
this->bBackerVisibility = visible;
}
}
}
void ProxyWindowBase::schedulePolish() {
if (this->isVisibleDirect()) {