g-ir-compiler: signal "when" attribute is incorrectly built
Submitted by Simon Feltman
Link to original bug (#709462)
Description
The compiler is doing a case sensitive compare with upper case versions of the "when" attributes valid values. GIR files look to be written with lowercase, causing g_signal_info_get_flags to always return G_SIGNAL_CLEANUP for signal flags.
girepository/gdump.c (lowercase): https://git.gnome.org/browse/gobject-introspection/tree/girepository/gdump.c?h=gnome-3-10#n176
girepository/girwriter.c (uppercase): https://git.gnome.org/browse/gobject-introspection/tree/girepository/girwriter.c?h=gnome-3-10#n862
giscanner/girscanner.py (lowercase): https://git.gnome.org/browse/gobject-introspection/tree/giscanner/ast.py?h=gnome-3-10#n350
I'm not sure which of these is "correct" but the resulting .gir files are lowercase, at least for Regress-1.0.gir: <glib:signal name="sig-with-obj" when="last">
You can see the failing comparison is here: girepository/girparser.c: https://git.gnome.org/browse/gobject-introspection/tree/girepository/girparser.c?h=gnome-3-10#n2301