diff options
Diffstat (limited to 'giscanner')
-rw-r--r-- | giscanner/annotationparser.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/giscanner/annotationparser.py b/giscanner/annotationparser.py index aa04ef44..fe5e721e 100644 --- a/giscanner/annotationparser.py +++ b/giscanner/annotationparser.py @@ -552,12 +552,14 @@ class AnnotationApplier(object): if node.direction is None: node.direction = self._guess_direction(node) node.transfer = self._extract_transfer(parent, node, options) - if OPT_ALLOW_NONE in options: - node.allow_none = True param_type = options.get(OPT_TYPE) if param_type: node.type = self._resolve(param_type.one(), node.type) + if (OPT_ALLOW_NONE in options or + node.type.ctype == 'GCancellable*'): + node.allow_none = True + assert node.transfer is not None if tag is not None and tag.comment is not None: node.doc = tag.comment |