]> gitweb.michael.orlitzky.com - libsvgtiny.git/commit
src/svgtiny.c: deallocate stylesheets before destroying their context
authorMichael Orlitzky <michael@orlitzky.com>
Sun, 20 Oct 2024 15:55:16 +0000 (11:55 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sun, 20 Oct 2024 21:58:40 +0000 (17:58 -0400)
commitdcf3a28beeacfef28843b320a03d51fb9cae9dce
treeb2bad1084bf62a9a4158c9d75b3f96813f233929
parent7f81e591dc7512c2a4540ae09a95f24b735d5da4
src/svgtiny.c: deallocate stylesheets before destroying their context

We allocate stylesheets in svgtiny_parse_style_element() and append
them to our global select_ctx, but the select_ctx retains only a const
reference to them and is not responsible for freeing their resources.
Instead, we have to do it, right before we destroy the context itself.

This is a little ugly because we have to de-const the sheet references
before we can destroy them. This relies on the non-local knowledge
that every sheet appended to the context does in fact originate in the
one function svgtiny_parse_style_element(). On the other hand, using
the context to keep track of these sheets saves us the trouble of
maintaining a duplicate array that would differ only in type
signature.
src/svgtiny.c