Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
qt6-base (6.8.0+dfsg-0deepin38) unstable; urgency=medium

* Fix don't dispatch events while closing

-- zhanghongyuan <zhanghongyuan@uniontech.com> Wed, 30 Sep 2026 14:12:52 +0800

qt6-base (6.8.0+dfsg-0deepin37) unstable; urgency=medium

* Fix crash when fontconfig fallback pattern has no charset.
Expand Down
36 changes: 36 additions & 0 deletions debian/patches/Fix-do-not-dispatch-events-while-closing.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Author: zhanghongyuan<zhanghongyuan@uniontech.com>
Date: Wed, 30 Sep 2026 14:04:31 +0800
Subject: QCoreApplication: don't dispatch events while closing
Upstream: https://codereview.qt-project.org/c/qt/qtbase/+/773760

---

Index: qt6-base/src/corelib/kernel/qcoreapplication.cpp
===================================================================
--- qt6-base.orig/src/corelib/kernel/qcoreapplication.cpp
+++ qt6-base/src/corelib/kernel/qcoreapplication.cpp
@@ -958,12 +958,13 @@ QCoreApplication::~QCoreApplication()

qt_call_post_routines();

- self = nullptr;
#ifndef QT_NO_QOBJECT
QCoreApplicationPrivate::is_app_closing = true;
QCoreApplicationPrivate::is_app_running = false;
#endif

+ self = nullptr;
+
#if QT_CONFIG(thread)
// Synchronize and stop the global thread pool threads.
QThreadPool *globalThreadPool = nullptr;
@@ -1157,6 +1158,9 @@ bool QCoreApplication::notifyInternal2(Q
QScopedScopeLevelCounter scopeLevelCounter(threadData);
if (!selfRequired)
return doNotify(receiver, event);
+
+ if (QCoreApplicationPrivate::is_app_closing)
+ return false; // no event delivery while the application is closing

#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0)
if (threadData->thread.loadRelaxed() != QCoreApplicationPrivate::mainThread())
1 change: 1 addition & 0 deletions debian/patches/series
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,4 @@ CVE-2026-78253_fix-stack-exhaustion-in-readElementText.patch
CVE-2026-82292_guard-against-null-nodes-in-QDomBuilder.patch
fix-ComboBox-Wheelevent.patch
Fix-crash-when-fontconfig-fallback-pattern-has-no-charset.patch
Fix-do-not-dispatch-events-while-closing.patch
Loading