Closed spk121 closed 3 years ago
Could be a result of how in gig_value_to_scm_structured_type
, boxed types are always copied as GI_TRANSFER_EVERYTHING
unless they are GValue or string
That certainly stands out in this file when everything else is transfered with NOTHING
. Is there a reason for this?
It appears that in a
GtkWidget
draw signal handler, thecairo_t
that is referenced in the<CairoContext>
that is generated needs an additionalcairo_reference
so that it is not freed when<CairoContext>
is garbage collected, since thatcairo_t
is owned by theGtkWidget
. If a GC occurs during the draw signal, it will hit thein
cairo_destroy
This script demonstrates the bug cairo-bug.scm.txt