diff --git a/NEWS b/NEWS index 054059bfb..258723782 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ ver 0.21.25 (not yet released) - fix crash when using "rangeid" while playing * database - simple: automatically scan new mounts + - upnp: fix compatibility with Plex DLNA * storage - fix disappearing mounts after mounting twice - udisks: fix reading ".mpdignore" diff --git a/src/db/plugins/upnp/Object.hxx b/src/db/plugins/upnp/Object.hxx index e17cdfbdd..e27fcfc2d 100644 --- a/src/db/plugins/upnp/Object.hxx +++ b/src/db/plugins/upnp/Object.hxx @@ -89,9 +89,18 @@ public: tag.Clear(); } + gcc_pure + bool IsRoot() const noexcept { + return type == Type::CONTAINER && id == "0"; + } + gcc_pure bool Check() const noexcept { - return !id.empty() && !parent_id.empty() && !name.empty() && + return !id.empty() && + /* root nodes don't need a parent id and a + name */ + (IsRoot() || (!parent_id.empty() && + !name.empty())) && (type != UPnPDirObject::Type::ITEM || item_class != UPnPDirObject::ItemClass::UNKNOWN); }