From 21ce257b6c62465ac5b4056b0c9f593e3485c0c3 Mon Sep 17 00:00:00 2001 From: Andreas Buhr Date: Mon, 14 Feb 2022 17:12:48 +0100 Subject: [PATCH] Repair tst_qcoreapplication to not segfault on Android MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tst_qcoreapplication.cpp is used both in tst_qcoreapplication and tst_qguiapplication. To distinguish these two compilations, the define QT_GUI_LIB was used. This led to an error on Android, where Qt::Gui is always linked, because the Qt Android Platform Plugin needs it. This patch introduces the preprocessor define QT_QGUIAPPLICATIONTEST which is to be used only in the compilation of tst_qguiapplication. This is then used instead of QT_GUI_LIB. Change-Id: Ifa5bfacb197d68365288c1da85573106515fc6c2 Reviewed-by: Tor Arne Vestbø --- .../corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp | 4 ++-- tests/auto/gui/kernel/qguiapplication/CMakeLists.txt | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp index fcfd3030d50..6d83371eac1 100644 --- a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp +++ b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp @@ -123,7 +123,7 @@ void tst_QCoreApplication::getSetCheck() void tst_QCoreApplication::qAppName() { -#ifdef QT_GUI_LIB +#ifdef QT_QGUIAPPLICATIONTEST const char* appName = "tst_qguiapplication"; #else const char* appName = "tst_qcoreapplication"; @@ -1078,7 +1078,7 @@ static void createQObjectOnDestruction() } Q_DESTRUCTOR_FUNCTION(createQObjectOnDestruction) -#ifndef QT_GUI_LIB +#ifndef QT_QGUIAPPLICATIONTEST QTEST_APPLESS_MAIN(tst_QCoreApplication) #endif diff --git a/tests/auto/gui/kernel/qguiapplication/CMakeLists.txt b/tests/auto/gui/kernel/qguiapplication/CMakeLists.txt index 1518df22a4d..7c3c4efc452 100644 --- a/tests/auto/gui/kernel/qguiapplication/CMakeLists.txt +++ b/tests/auto/gui/kernel/qguiapplication/CMakeLists.txt @@ -25,6 +25,7 @@ qt_internal_add_test(tst_qguiapplication tst_qguiapplication.cpp DEFINES QT_DISABLE_DEPRECATED_BEFORE=0x050E00 + QT_QGUIAPPLICATIONTEST=1 INCLUDE_DIRECTORIES ../../../corelib/kernel/qcoreapplication PUBLIC_LIBRARIES