From e510237793596b32fb08b56004961b2f9556cb78 Mon Sep 17 00:00:00 2001 From: Gaute Lindkvist Date: Tue, 11 Dec 2018 15:38:26 +0100 Subject: [PATCH] Make Qt5 fix for RiaApplication::launchUnitTests() a bit safer. --- ApplicationCode/Application/RiaApplication.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ApplicationCode/Application/RiaApplication.cpp b/ApplicationCode/Application/RiaApplication.cpp index f49eea6519..31948bd6fd 100644 --- a/ApplicationCode/Application/RiaApplication.cpp +++ b/ApplicationCode/Application/RiaApplication.cpp @@ -1296,6 +1296,10 @@ int RiaApplication::launchUnitTests() #ifdef USE_UNIT_TESTS cvf::Assert::setReportMode(cvf::Assert::CONSOLE); +#if QT_VERSION < 0x050000 + int argc = QCoreApplication::argc(); + char** argv = QCoreApplication::argv(); +#else int argc = QCoreApplication::arguments().size(); QStringList arguments = QCoreApplication::arguments(); std::vector argumentsStd; @@ -1303,13 +1307,15 @@ int RiaApplication::launchUnitTests() { argumentsStd.push_back(qstring.toStdString()); } - std::vector argv; + std::vector argVector; for (std::string& string : argumentsStd) { - argv.push_back(&string.front()); + argVector.push_back(&string.front()); } + char** argv = argVector.data(); +#endif - testing::InitGoogleTest(&argc, argv.data()); + testing::InitGoogleTest(&argc, argv); // Use this macro in main() to run all tests. It returns 0 if all // tests are successful, or 1 otherwise.