summaryrefslogtreecommitdiff
path: root/giscanner/annotationparser.py
diff options
context:
space:
mode:
Diffstat (limited to 'giscanner/annotationparser.py')
-rw-r--r--giscanner/annotationparser.py6
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