qt_pixmap_thread_test(): Simplify logic, merge warnings

Pick-to: 6.2
Change-Id: I0c413c14d124bafbd6b2bd94d7a128e19ed83ade
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
bb10
Sze Howe Koh 2021-07-24 22:14:57 +08:00
parent e9e8d67e31
commit ee2ac8b4ef
1 changed files with 6 additions and 12 deletions

View File

@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtGui module of the Qt Toolkit.
@ -81,17 +81,11 @@ static bool qt_pixmap_thread_test()
qFatal("QPixmap: Must construct a QGuiApplication before a QPixmap");
return false;
}
if (QGuiApplicationPrivate::instance() && qApp->thread() != QThread::currentThread()) {
bool fail = false;
if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::ThreadedPixmaps)) {
printf("Platform plugin does not support threaded pixmaps!\n");
fail = true;
}
if (fail) {
qWarning("QPixmap: It is not safe to use pixmaps outside the GUI thread");
return false;
}
if (QGuiApplicationPrivate::instance()
&& qApp->thread() != QThread::currentThread()
&& !QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::ThreadedPixmaps)) {
qWarning("QPixmap: It is not safe to use pixmaps outside the GUI thread on this platform");
return false;
}
return true;
}