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