st/theme-node: Forget properties cache on theme changes
To avoid node->properties
pointing to freed memory after each
st_theme_unload_stylesheet
, flush the cache that is node->properties
.
They will be reloaded as soon as they are required by ensure_properties
.
And yes node->stylesheets_changed_id
already existed, but was unused.
Why not just fix Croco? Croco does not use proper reference counting
everywhere it should, and retrofitting it would be difficult due to the
recursive nature of CRDeclaration
.
Closes: #7339 ... but mostly reported in https://github.com/micheleg/dash-to-dock/issues/2179 and https://bugs.launchpad.net/bugs/2069559
Edited by Daniel van Vugt