Loosen applist XML validation to accept empty app names
This matches the behavior of the Android and iOS clients. Fixes #1921
This commit is contained in:
+3
-1
@@ -25,7 +25,9 @@ public:
|
|||||||
|
|
||||||
bool isInitialized()
|
bool isInitialized()
|
||||||
{
|
{
|
||||||
return id != 0 && !name.isEmpty();
|
// We use isNull() instead of isEmpty() here because we want
|
||||||
|
// to detect cases where the name is unassigned, not empty.
|
||||||
|
return id != 0 && !name.isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
+10
-1
@@ -322,7 +322,16 @@ NvHTTP::getAppList()
|
|||||||
}
|
}
|
||||||
else if (!apps.isEmpty()) {
|
else if (!apps.isEmpty()) {
|
||||||
if (XML_NAME_EQUALS(name, "AppTitle")) {
|
if (XML_NAME_EQUALS(name, "AppTitle")) {
|
||||||
apps.last().name = xmlReader.readElementText();
|
// If an app has no name, Sunshine may send us <AppTitle/>,
|
||||||
|
// which readElementText() returns as a null QString.
|
||||||
|
// We want to treat this as an empty QString instead, so we
|
||||||
|
// will explicitly convert it. An empty string will satisfy
|
||||||
|
// NvApp's isInitialized() check.
|
||||||
|
QString name = xmlReader.readElementText();
|
||||||
|
if (name.isNull()) {
|
||||||
|
name = "";
|
||||||
|
}
|
||||||
|
apps.last().name = name;
|
||||||
}
|
}
|
||||||
else if (XML_NAME_EQUALS(name, "ID")) {
|
else if (XML_NAME_EQUALS(name, "ID")) {
|
||||||
apps.last().id = xmlReader.readElementText().toInt();
|
apps.last().id = xmlReader.readElementText().toInt();
|
||||||
|
|||||||
Reference in New Issue
Block a user