From 818efc099e5e065a65b0f3237daac88b4656ba2f Mon Sep 17 00:00:00 2001 From: Sebastian Palencsar Date: Mon, 22 Jun 2026 17:28:25 +0200 Subject: [PATCH] fix: About version label and disable stale QML disk cache (1.0.5 pkgrel 7) Replace QString.arg() with string concatenation in AboutDialog. Disable QML disk cache so flatpak updates do not keep old compiled QML after qrc changes. Move setApplicationVersion after QApplication construction. --- PKGBUILD | 2 +- src/main.cpp | 7 +++++-- src/qml/components/AboutDialog.qml | 12 +++++++++++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/PKGBUILD b/PKGBUILD index b09ee7e..2410faf 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Sebastian Palencsar pkgname=bearwave-git pkgver=1.0.5 -pkgrel=5 +pkgrel=7 pkgdesc="KDE-focused desktop internet radio app" arch=('x86_64') url="https://github.com/spalencsar/bearwave" diff --git a/src/main.cpp b/src/main.cpp index 9cf9b98..ca7f9ac 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -22,13 +22,13 @@ int main(int argc, char *argv[]) { + QApplication app(argc, argv); + QApplication::setApplicationName(QStringLiteral("BearWave")); QApplication::setDesktopFileName(QStringLiteral("de.nerdbear.bearwave")); QApplication::setOrganizationName(QStringLiteral("BearWave")); QApplication::setApplicationVersion(QStringLiteral(BEARWAVE_VERSION)); - QApplication app(argc, argv); - QDBusConnection sessionBus = QDBusConnection::sessionBus(); if (sessionBus.isConnected() && sessionBus.interface() && sessionBus.interface()->isServiceRegistered(QStringLiteral("org.mpris.MediaPlayer2.bearwave"))) { QDBusMessage call = QDBusMessage::createMethodCall( @@ -49,6 +49,9 @@ int main(int argc, char *argv[]) app.installTranslator(&appTranslator); } + // QML disk cache can retain stale bytecode across app updates (same qrc paths). + qputenv("QML_DISABLE_DISK_CACHE", "1"); + QQmlApplicationEngine engine; engine.addImportPath(QStringLiteral("qrc:/qml")); diff --git a/src/qml/components/AboutDialog.qml b/src/qml/components/AboutDialog.qml index 6a58075..126a8b2 100644 --- a/src/qml/components/AboutDialog.qml +++ b/src/qml/components/AboutDialog.qml @@ -14,6 +14,16 @@ Dialog { property string appVersion: Qt.application.version property string buildId: "?" + readonly property string versionLine: { + var version = root.appVersion + if (version === undefined || version === null || version === "") + version = Qt.application.version + var build = root.buildId + if (build === undefined || build === null || build === "") + build = "?" + return qsTr("Version") + " " + String(version) + " · " + qsTr("build") + " " + String(build) + } + modal: true anchors.centerIn: parent width: compactMode ? 360 : 520 @@ -55,7 +65,7 @@ Dialog { Label { Layout.alignment: Qt.AlignHCenter - text: qsTr("Version %1 · build %2").arg(root.appVersion).arg(root.buildId) + text: root.versionLine color: BearTheme.textMuted font.pixelSize: 12 }