From 8fd0de458034174cf271fac56953d98026b291a4 Mon Sep 17 00:00:00 2001 From: bbedward Date: Tue, 20 Jan 2026 16:10:45 -0500 Subject: [PATCH 1/2] core/proxywindow: create window on visibility for lazily initialized windows --- src/window/proxywindow.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/window/proxywindow.cpp b/src/window/proxywindow.cpp index 3cc4378..4423547 100644 --- a/src/window/proxywindow.cpp +++ b/src/window/proxywindow.cpp @@ -288,10 +288,16 @@ void ProxyWindowBase::setVisibleDirect(bool visible) { this->bBackerVisibility = false; this->deleteWindow(); } - } else if (this->window != nullptr) { - if (visible) this->polishItems(); - this->window->setVisible(visible); - this->bBackerVisibility = visible; + } else { + if (visible && this->window == nullptr) { + this->createWindow(); + } + + if (this->window != nullptr) { + if (visible) this->polishItems(); + this->window->setVisible(visible); + this->bBackerVisibility = visible; + } } } From 191085a8821b35680bba16ce5411fc9dbe912237 Mon Sep 17 00:00:00 2001 From: Manuel Romei Date: Sun, 18 Jan 2026 17:20:12 +0100 Subject: [PATCH 2/2] ipc: use deleteLater() in IpcServerConnection to prevent use-after-free --- src/ipc/ipc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ipc/ipc.cpp b/src/ipc/ipc.cpp index 32d8482..40e8f0c 100644 --- a/src/ipc/ipc.cpp +++ b/src/ipc/ipc.cpp @@ -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(this->parent()) != nullptr) { - delete this; + this->deleteLater(); } }