Regression: Some calls of g_variant_ref_sink omitted in 0.41.91 causing `g_variant_ref: assertion 'value->ref_count > 0' failed`
During testing with 0.41.90 & 0.41.91, my app started crashing after printing g_variant_ref: assertion 'value->ref_count > 0' failed
.
I then used Meld to compare C sources generated with Vala 0.40.4 and 0.41.91 to find out that many g_variant_ref_sink
calls are omitted in the latter version. After I added them all back, my app stopped crashing.
I then rebuilt Vala 0.41.91 with vala_ref_sink.patch (reverting 6f1d0947) and it worked (without manual modification of C code).
Unfortunatelly, I haven't managed to find out yet which ommitted g_variant_ref_sink
was the cause of my issue and what is the reason why it cannot be ommitted. I'll probably need to study floating refrences and GVariant C API first.