From 5e35e381e872d757f3c025d74d21e0e9c61d4049 Mon Sep 17 00:00:00 2001 From: YinJie Date: Tue, 3 Feb 2026 20:51:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20DForeignWindow=20ev?= =?UTF-8?q?ent=E6=96=B9=E6=B3=95=E8=BF=94=E5=9B=9E=E5=80=BC=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 DForeignWindow::event 方法的返回值从固定返回 false 改为返回基类 QWindow::event(e) 的结果。这样确保事件能够正确地在继承链中传递和处理,避 免事件处理被意外截断。 特别是deleteLater() 投递的 QEvent::DeferredDelete事件,被截断后造成了内存不断增长的问题. Log: 修复窗口事件处理问题 Influence: 1. 测试窗口各种事件(如鼠标、键盘、焦点等)是否正常响应 2. 验证窗口状态变化是否正确处理 3. 测试窗口与其他组件的交互是否正常 4. 验证事件传递链的完整性 Bug: https://pms.uniontech.com//bug-view-342765.html Change-Id: I6b9f82b6fdec9e23f7e64dccad007779be24e166 --- src/kernel/dforeignwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kernel/dforeignwindow.cpp b/src/kernel/dforeignwindow.cpp index c5eb5e4e..fb7c08e5 100644 --- a/src/kernel/dforeignwindow.cpp +++ b/src/kernel/dforeignwindow.cpp @@ -186,7 +186,7 @@ bool DForeignWindow::event(QEvent *e) } } - return false; + return QWindow::event(e); } DGUI_END_NAMESPACE