diff options
Diffstat (limited to 'giscanner/annotationparser.py')
-rw-r--r-- | giscanner/annotationparser.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/giscanner/annotationparser.py b/giscanner/annotationparser.py index 85237cd3..d632174c 100644 --- a/giscanner/annotationparser.py +++ b/giscanner/annotationparser.py @@ -934,7 +934,11 @@ class AnnotationApplier(object): else: return PARAM_TRANSFER_NONE elif isinstance(node, Return): - if (node.type.canonical in BASIC_GIR_TYPES or + if (isinstance(node.type, Array) and + node.type.element_type is not None and + node.type.element_type.name == 'utf8'): + return PARAM_TRANSFER_FULL + elif (node.type.canonical in BASIC_GIR_TYPES or (node.type.canonical in [TYPE_NONE, TYPE_ANY] and node.type.is_const)): return PARAM_TRANSFER_NONE |