Do not generate marshaller aliases in source files

When generating the body of the marshallers, we need to skip aliases to
standard marshallers provided by GLib itself.

https://bugzilla.gnome.org/show_bug.cgi?id=790829
Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
This commit is contained in:
Emmanuele Bassi
2017-11-28 15:05:16 +00:00
parent da4cdc6890
commit 4b661ad222

View File

@@ -1034,19 +1034,20 @@ if __name__ == '__main__':
elif args.body: elif args.body:
if args.verbose: if args.verbose:
print_info('Generating definition for {}'.format(line.strip())) print_info('Generating definition for {}'.format(line.strip()))
if compatibility_mode: generate_std_alias = False
generate_std_alias = False if args.stdinc:
if args.stdinc: std_marshaller = generate_marshaller_name(STD_PREFIX, retval, params)
std_marshaller = generate_marshaller_name(STD_PREFIX, retval, params) if std_marshaller in GOBJECT_MARSHALLERS:
if std_marshaller in GOBJECT_MARSHALLERS: if args.verbose:
if args.verbose: print_info('Skipping default marshaller {}'.format(line.strip()))
print_info('Skipping default marshaller {}'.format(line.strip())) generate_std_alias = True
generate_std_alias = True
marshaller = generate_marshaller_name(args.prefix, retval, params) marshaller = generate_marshaller_name(args.prefix, retval, params)
if compatibility_mode and generate_std_alias: if generate_std_alias:
generate_marshaller_alias(args.output, marshaller, std_marshaller, # We need to generate the alias if we are in compatibility mode
source_location=location, if compatibility_mode:
include_va=args.valist_marshallers) generate_marshaller_alias(args.output, marshaller, std_marshaller,
source_location=location,
include_va=args.valist_marshallers)
else: else:
generate_marshallers_body(args.output, retval, params, generate_marshallers_body(args.output, retval, params,
prefix=args.prefix, prefix=args.prefix,