glib-mkenums can't parse enumerations with multi-line definition of members
Submitted by Anton Gorenko
Link to original bug (#629741)
Description
glib-mkenums tool generates wrong definition of CoglBufferAccess in cogl_buffer_access_get_type (cogl-enum-types.c)
Here are 2 entries of COGL_BUFFER_ACCESS_WRITE:
... static const GFlagsValue values[] = { { COGL_BUFFER_ACCESS_READ, "COGL_BUFFER_ACCESS_READ", "read" }, { COGL_BUFFER_ACCESS_WRITE, "COGL_BUFFER_ACCESS_WRITE", "write" }, { COGL_BUFFER_ACCESS_READ_WRITE, "COGL_BUFFER_ACCESS_READ_WRITE", "read-write" }, { COGL_BUFFER_ACCESS_WRITE, "COGL_BUFFER_ACCESS_WRITE", "write" }, { 0, NULL, NULL } }; ... So Cogl-1.0.gir also contains 2 entries of COGL_BUFFER_ACCESS_WRITE.
glib-mkenums can't parse enumerations with multi-line definition of members:
http://git.clutter-project.org/clutter/tree/clutter/cogl/cogl/cogl-buffer.h#n154
typedef enum { /< prefix=COGL_BUFFER_ACCESS >
/
COGL_BUFFER_ACCESS_READ = 1 << 0,
COGL_BUFFER_ACCESS_WRITE = 1 << 1,
COGL_BUFFER_ACCESS_READ_WRITE = COGL_BUFFER_ACCESS_READ |
COGL_BUFFER_ACCESS_WRITE
} CoglBufferAccess;
(Linked Clutter bug: http://bugzilla.clutter-project.org/show_bug.cgi?id=2238)