Skip to content
Commit ea68ec23 authored by Torsten Schönfeld's avatar Torsten Schönfeld
Browse files

scanner: correctly handle structs with arrays of anon unions

This applies mainly to GValue, which is defined as:

  struct _GValue
  {
    /*< private >*/
    GType		g_type;

    /* public for GTypeValueTable methods */
    union {
      gint	v_int;
      guint	v_uint;
      glong	v_long;
      gulong	v_ulong;
      gint64      v_int64;
      guint64     v_uint64;
      gfloat	v_float;
      gdouble	v_double;
      gpointer	v_pointer;
    } data[2];
  };

Previously, the scanner did not understand the array of unions.  This
resulted in g_struct_info_get_size returning an incorrect size for
GValue (at least on 32bit systems).

Fix this by making up a separate union declaration for the GIR that can
be referenced by the array.

https://bugzilla.gnome.org/show_bug.cgi?id=657040
parent c3da3d46
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment