aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormontellese <montellese@xbmc.org>2012-09-21 17:33:27 +0200
committermontellese <montellese@xbmc.org>2012-09-21 17:34:49 +0200
commitb35e1ac6bced295f15f062052beaaba19785758f (patch)
tree16849bc944cf66a89bbedd323d379d4ba970888d
parent5184234f469edf14ccc9ca5d753f6c8644876aa2 (diff)
jsonrpc: fix returning empty objects as null (which does not match the JSON schema)
-rw-r--r--xbmc/interfaces/json-rpc/FileItemHandler.cpp2
-rw-r--r--xbmc/video/VideoInfoTag.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/xbmc/interfaces/json-rpc/FileItemHandler.cpp b/xbmc/interfaces/json-rpc/FileItemHandler.cpp
index 9c64c625f8..d9ad10ab85 100644
--- a/xbmc/interfaces/json-rpc/FileItemHandler.cpp
+++ b/xbmc/interfaces/json-rpc/FileItemHandler.cpp
@@ -171,7 +171,7 @@ void CFileItemHandler::FillDetails(ISerializable* info, CFileItemPtr item, const
}
}
- if (serialization.isMember(field) && (!result.isMember(field) || result[field].empty()))
+ if (serialization.isMember(field) && !serialization[field].isNull() && (!result.isMember(field) || result[field].empty()))
result[field] = serialization[field];
}
}
diff --git a/xbmc/video/VideoInfoTag.cpp b/xbmc/video/VideoInfoTag.cpp
index 571e5a0725..8048b6befe 100644
--- a/xbmc/video/VideoInfoTag.cpp
+++ b/xbmc/video/VideoInfoTag.cpp
@@ -469,7 +469,8 @@ void CVideoInfoTag::Serialize(CVariant& value)
value["fileid"] = m_iFileId;
value["track"] = m_iTrack;
value["showlink"] = m_showLink;
- m_streamDetails.Serialize(value["streamdetails"]);
+ if (m_streamDetails.HasItems())
+ m_streamDetails.Serialize(value["streamdetails"]);
CVariant resume = CVariant(CVariant::VariantTypeObject);
resume["position"] = (float)m_resumePoint.timeInSeconds;
resume["total"] = (float)m_resumePoint.totalTimeInSeconds;