summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2009-12-03 19:14:31 -0200
committerJohan Dahlin <johan@gnome.org>2009-12-03 19:17:41 -0200
commit263af175f3630ac5c6b215e25d19bfb10a41253d (patch)
tree0915c1d26078c1b2faadeb1fe491e5e4b0b36040
parent1ca6e6f438b2a77c3fe458157723deb29294fdf8 (diff)
downloadgobject-introspection-263af175f3630ac5c6b215e25d19bfb10a41253d.tar.gz
[everything] Allow passing NULL to the callback
-rw-r--r--gir/Everything-1.0-expected.gir5
-rw-r--r--gir/everything.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gir/Everything-1.0-expected.gir b/gir/Everything-1.0-expected.gir
index 7e3caaee..2518a6d9 100644
--- a/gir/Everything-1.0-expected.gir
+++ b/gir/Everything-1.0-expected.gir
@@ -656,7 +656,10 @@ case.">
<type name="int" c:type="int"/>
</return-value>
<parameters>
- <parameter name="callback" transfer-ownership="none" scope="call">
+ <parameter name="callback"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="call">
<type name="TestCallback" c:type="TestCallback"/>
</parameter>
</parameters>
diff --git a/gir/everything.c b/gir/everything.c
index e73d8ca7..563a05f3 100644
--- a/gir/everything.c
+++ b/gir/everything.c
@@ -1515,13 +1515,15 @@ test_sub_obj_unset_bare (TestSubObj *obj)
/**
* test_callback:
- * @callback: (scope call):
+ * @callback: (scope call) (allow-none):
*
**/
int
test_callback (TestCallback callback)
{
- return callback();
+ if (callback != NULL)
+ return callback();
+ return 0;
}
/**