Mental, this is yours again. In desktop-style.cpp, this checks if the repr has no attributes:
if (((SPRepr *) css)->attributeList() == NULL) {
However attributeList() returns non-NULL even if there are no attributes. Please either fix it to return NULL as before (preferable) or provide a new function e.g. bool attributeListIsEmpty().
To test, delete your ~/.inkscape/preferences.xml, run, and break at sp_desktop_get_style. Draw a shape. A new empty css attr is created:
SPCSSAttr *css = sp_repr_css_attr_new();
Merge does nothing because desktop->current is empty too:
sp_repr_css_merge(css, desktop->current);
Yet after that, the check fails:
if (((SPRepr *) css)->attributeList() == NULL) {
and the function returns the empty css instead of NULL.
This needs to be done before the release, because this may have caused other breakage which we haven't discovered yet.