Environment
- lgi: 0.9.2 (also tested with current master dfa8297)
- gobject-introspection: 1.86.0
- Lua: 5.4.8
- OS: Chimera Linux (musl libc)
Description
When loading cairo via lgi, core.record.fromarray() in ffi.lua:86
receives a Lua table instead of an lgi.record when iterating
GEnumClass.values, causing a crash at startup.
Error
lgi/ffi.lua:86: bad argument #1 to 'fromarray' (lgi.record expected, got table)
Stack trace:
[C]: in field 'fromarray' /usr/share/lua/5.4/lgi/ffi.lua:86: in function 'lgi.ffi.load_enum' /usr/share/lua/5.4/lgi/override/cairo.lua:49: in main chunk
Cause
GEnumClass.values in gobject-introspection 1.86 appears to be exposed
as a Lua table instead of a lgi.record, breaking core.record.fromarray()
in record.c. This seems to be a behavioral change in how g-i 1.86
exposes GEnumValue* arrays.
Impact
Any application using lgi + cairo on systems with gobject-introspection
1.86 (e.g. AwesomeWM) is completely broken.
Environment
Description
When loading cairo via lgi,
core.record.fromarray()inffi.lua:86receives a Lua table instead of an
lgi.recordwhen iteratingGEnumClass.values, causing a crash at startup.Error
lgi/ffi.lua:86: bad argument #1 to 'fromarray' (lgi.record expected, got table)
Stack trace:
[C]: in field 'fromarray' /usr/share/lua/5.4/lgi/ffi.lua:86: in function 'lgi.ffi.load_enum' /usr/share/lua/5.4/lgi/override/cairo.lua:49: in main chunk
Cause
GEnumClass.valuesin gobject-introspection 1.86 appears to be exposedas a Lua table instead of a
lgi.record, breakingcore.record.fromarray()in
record.c. This seems to be a behavioral change in how g-i 1.86exposes
GEnumValue*arrays.Impact
Any application using lgi + cairo on systems with gobject-introspection
1.86 (e.g. AwesomeWM) is completely broken.