From d9ab34b17c7f201133d661217305ce25471a0a0a Mon Sep 17 00:00:00 2001 From: Tommi Komulainen Date: Thu, 23 Oct 2008 17:42:25 +0000 Subject: [PATCH] =?UTF-8?q?Bug=20556739=20=E2=80=93=20transfer-ownership?= =?UTF-8?q?=20attribute=20should=20be=20mandatory=20in=20.gir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2008-10-23 Tommi Komulainen * girepository/girparser.c (parse_param_transfer): * giscanner/transformer.py (_create_parameter, _create_return): * giscanner/girwriter.py (_write_return, _write_parameter): * tools/generate.c (write_callable_info): always write and require "transfer-ownership" for return-values and parameters * tests/boxed.gir: * tests/invoke/testfns-1.0.gir: * tests/object.gir: * tests/scanner/DrawableAdditions.xml: * tests/scanner/GtkFrob-1.0-expected.tgir: * tests/scanner/annotation-1.0-expected.tgir: * tests/scanner/drawable-1.0-expected.tgir: * tests/scanner/drawable-injected-1.0-expected.gir: * tests/scanner/drawable-injected-1.0-expected.tgir: * tests/scanner/foo-1.0-expected.tgir: Updated svn path=/trunk/; revision=797 --- girepository/tools/generate.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/girepository/tools/generate.c b/girepository/tools/generate.c index 8a3b1d865..fad680f5d 100644 --- a/girepository/tools/generate.c +++ b/girepository/tools/generate.c @@ -382,21 +382,19 @@ write_callable_info (const gchar *namespace, xml_start_element (file, "return-value"); - if (g_type_info_is_pointer (type)) + switch (g_callable_info_get_caller_owns (info)) { - switch (g_callable_info_get_caller_owns (info)) - { - case GI_TRANSFER_NOTHING: - break; - case GI_TRANSFER_CONTAINER: - xml_printf (file, " transfer-ownership=\"container\""); - break; - case GI_TRANSFER_EVERYTHING: - xml_printf (file, " transfer-ownership=\"full\""); - break; - default: - g_assert_not_reached (); - } + case GI_TRANSFER_NOTHING: + xml_printf (file, " transfer-ownership=\"none\""); + break; + case GI_TRANSFER_CONTAINER: + xml_printf (file, " transfer-ownership=\"container\""); + break; + case GI_TRANSFER_EVERYTHING: + xml_printf (file, " transfer-ownership=\"full\""); + break; + default: + g_assert_not_reached (); } if (g_callable_info_may_return_null (info)) @@ -421,6 +419,7 @@ write_callable_info (const gchar *namespace, switch (g_arg_info_get_ownership_transfer (arg)) { case GI_TRANSFER_NOTHING: + xml_printf (file, " transfer-ownership=\"none\""); break; case GI_TRANSFER_CONTAINER: xml_printf (file, " transfer-ownership=\"container\"");