summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/scanner/Regress-1.0-expected.gir2
-rw-r--r--tests/scanner/regress.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 4a1b49ab..81c0a6ba 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -2129,7 +2129,7 @@ call and can be released on return.</doc>
<doc xml:whitespace="preserve">GClosure which takes one GVariant and returns a GVariant</doc>
<type name="GObject.Closure" c:type="GClosure*"/>
</parameter>
- <parameter name="arg" transfer-ownership="none">
+ <parameter name="arg" transfer-ownership="none" allow-none="1">
<doc xml:whitespace="preserve">a GVariant passed as argument to @closure</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index 27363139..032d07bb 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -216,7 +216,7 @@ regress_test_closure_one_arg (GClosure *closure, int arg)
/**
* regress_test_closure_variant:
* @closure: GClosure which takes one GVariant and returns a GVariant
- * @arg: (transfer none): a GVariant passed as argument to @closure
+ * @arg: (allow-none) (transfer none): a GVariant passed as argument to @closure
*
* Return value: (transfer full): the return value of @closure
*/
@@ -238,6 +238,8 @@ regress_test_closure_variant (GClosure *closure, GVariant* arg)
NULL);
ret = g_value_get_variant (&return_value);
+ if (ret != NULL)
+ g_variant_ref (ret);
g_value_unset (&return_value);
g_value_unset (&arguments[0]);