After investigating the code, I don't think this can cause any harm, and it can indeed very well fix the mentioned issue. I also have moved the `g_free(vf)` further down in 110b7c839b70c10cebed676434a5e4bef89b2dbc as if any callbacks is called in the destruction phase they would possibly use this freed pointer. Also, it should have zero side effect apart from releasing memory a little later.
@elextr and here we go with the two last-minute commits for making a point release afterward :grin: