From a98faf95ec8aa0d065aa2fb6fac0cb12255143b7 Mon Sep 17 00:00:00 2001 From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com> Date: Tue, 8 Mar 2022 14:44:53 -0500 Subject: [PATCH] app: detect and abort/core dump on Qt runtime version mismatch Catch Qt binary incompatibility. Change-Id: I30e1de97bd658fc570ac89115d1aa8a37f53952a --- src/mainapplication.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/mainapplication.cpp b/src/mainapplication.cpp index 80f4f6a47..c45ea7ed8 100644 --- a/src/mainapplication.cpp +++ b/src/mainapplication.cpp @@ -80,6 +80,13 @@ ScreenInfo::setCurrentFocusWindow(QWindow* window) MainApplication::MainApplication(int& argc, char** argv) : QApplication(argc, argv) { + const char* qtVersion = qVersion(); + qInfo() << "Using Qt runtime version:" << qtVersion << " - " + << strnlen(qtVersion, sizeof qtVersion); + if (strncmp(qtVersion, QT_VERSION_STR, strnlen(qtVersion, sizeof qtVersion)) != 0) { + qFatal(QString("Qt build version mismatch!(%1)").arg(QT_VERSION_STR).toLatin1()); + } + parseArguments(); QObject::connect(this, &QApplication::aboutToQuit, [this] { cleanup(); }); } -- GitLab