From 8cc001768cf3bfde32791cb060884638a5a1a35d Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 23 May 2026 21:56:40 -0500 Subject: [PATCH] Use UTF-16 literals for XML processing on Qt 6 --- app/backend/nvhttp.cpp | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/app/backend/nvhttp.cpp b/app/backend/nvhttp.cpp index 8e779b0c..17f69734 100644 --- a/app/backend/nvhttp.cpp +++ b/app/backend/nvhttp.cpp @@ -18,6 +18,12 @@ #define RESUME_TIMEOUT_MS 30000 #define QUIT_TIMEOUT_MS 30000 +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#define XML_NAME_EQUALS(x, y) ((x) == (y)) +#else +#define XML_NAME_EQUALS(x, y) ((x) == (u##y)) +#endif + NvHTTP::NvHTTP(NvAddress address, uint16_t httpsPort, QSslCertificate serverCert, QNetworkAccessManager* nam) : m_Nam(nam ? nam : new QNetworkAccessManager(this)), m_ServerCert(serverCert) @@ -266,17 +272,17 @@ NvHTTP::getDisplayModeList(QString serverInfo) while (!xmlReader.atEnd()) { while (xmlReader.readNextStartElement()) { auto name = xmlReader.name(); - if (name == "DisplayMode") { + if (XML_NAME_EQUALS(name, "DisplayMode")) { modes.append(NvDisplayMode()); } else if (!modes.isEmpty()) { - if (name == "Width") { + if (XML_NAME_EQUALS(name, "Width")) { modes.last().width = xmlReader.readElementText().toInt(); } - else if (name == "Height") { + else if (XML_NAME_EQUALS(name, "Height")) { modes.last().height = xmlReader.readElementText().toInt(); } - else if (name == "RefreshRate") { + else if (XML_NAME_EQUALS(name, "RefreshRate")) { modes.last().refreshRate = xmlReader.readElementText().toInt(); } } @@ -301,7 +307,7 @@ NvHTTP::getAppList() while (!xmlReader.atEnd()) { while (xmlReader.readNextStartElement()) { auto name = xmlReader.name(); - if (name == "App") { + if (XML_NAME_EQUALS(name, "App")) { // We must have a valid app before advancing to the next one if (!apps.isEmpty() && !apps.last().isInitialized()) { qWarning() << "Invalid applist XML"; @@ -310,16 +316,16 @@ NvHTTP::getAppList() apps.append(NvApp()); } else if (!apps.isEmpty()) { - if (name == "AppTitle") { + if (XML_NAME_EQUALS(name, "AppTitle")) { apps.last().name = xmlReader.readElementText(); } - else if (name == "ID") { + else if (XML_NAME_EQUALS(name, "ID")) { apps.last().id = xmlReader.readElementText().toInt(); } - else if (name == "IsHdrSupported") { + else if (XML_NAME_EQUALS(name, "IsHdrSupported")) { apps.last().hdrSupported = xmlReader.readElementText() == "1"; } - else if (name == "IsAppCollectorGame") { + else if (XML_NAME_EQUALS(name, "IsAppCollectorGame")) { apps.last().isAppCollectorGame = xmlReader.readElementText() == "1"; } } @@ -336,7 +342,7 @@ NvHTTP::verifyResponseStatus(QString xml) while (xmlReader.readNextStartElement()) { - if (xmlReader.name() == "root") + if (XML_NAME_EQUALS(xmlReader.name(), "root")) { // Status code can be 0xFFFFFFFF in some rare cases on GFE 3.20.3, and // QString::toInt() will fail in that case, so use QString::toUInt()