xbmc/xbmc — pull request #4661 by pdf (2014-05-08 03:15:56+00:00)
Title: GUI.OnScreensaverDeactivated does not follow JSON-RPC API definition

The announcement of `GUI.OnScreensaverDeactivated` does not follow the defined
API - it outputs `data` as a `boolean`, not `null`. This behaviour was
introduced in ea9f2f01 to support a special case for CEC devices, that must
choose to act based on whether this notification was triggered on the back of
a shutdown.

As the rest of the API defines `data` to be of type `null` or `object`, I've
moved this boolean to a `shuttingDown` member on the data object, rather than
changing the API to be inconsistent for a special case.

I don't have an XBMC build env at the moment, so I haven't been able to test this yet - I discovered this because it was breaking a Go API client I was working on (mapping JSON onto a Go struct requires consistently typed properties, or `null`). I'll need to backport it to Gotham for local testing where I have CEC hardware, but if someone can do a quick desk check, that would be appreciated (I haven't write much C++ in a while).