From 20d7d41a7486fd5cbc659c5d19b65d0f2d21f596 Mon Sep 17 00:00:00 2001 From: Timur Pocheptsov Date: Tue, 13 Sep 2022 09:01:13 +0200 Subject: QMacPasteboard: check QGuiApplication is alive for a promise containing QPixmap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Otherwise, when platform integration is deleted, it triggers resolving promises after the global instance of QGuiApplication is dead and QPixmap in turn calls qFatal, crashing the exiting app. Fixes: QTBUG-106472 Change-Id: Ie706d030214c33abdbc8fff86cc2eddd0c632f1b Reviewed-by: Tor Arne Vestbø --- src/plugins/platforms/cocoa/qmacclipboard.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/plugins/platforms/cocoa/qmacclipboard.h') diff --git a/src/plugins/platforms/cocoa/qmacclipboard.h b/src/plugins/platforms/cocoa/qmacclipboard.h index 658497f743..925e816831 100644 --- a/src/plugins/platforms/cocoa/qmacclipboard.h +++ b/src/plugins/platforms/cocoa/qmacclipboard.h @@ -30,6 +30,12 @@ private: QPointer mimeData; QVariant variantData; DataRequestType dataRequestType; + // QMimeData can be set from QVariant, holding + // QPixmap. When converting, this triggers + // QPixmap's ctor which in turn requires QGuiApplication + // to exist and thus will abort the application + // abnormally if not. + bool isPixmap = false; }; QList promises; -- cgit v1.2.3