diff --git a/gio/gdbus-2.0/codegen/codegen.py b/gio/gdbus-2.0/codegen/codegen.py index 0d95cdcda..d393f65cb 100644 --- a/gio/gdbus-2.0/codegen/codegen.py +++ b/gio/gdbus-2.0/codegen/codegen.py @@ -433,6 +433,11 @@ class HeaderCodeGenerator: self.outfile.write('GType %sobject_get_type (void) G_GNUC_CONST;\n' '\n' %(self.ns_lower)) + if self.generate_autocleanup == 'all': + self.outfile.write('#if GLIB_CHECK_VERSION(2, 44, 0)\n') + self.outfile.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObject, g_object_unref)\n' % (self.namespace)) + self.outfile.write('#endif\n') + self.outfile.write('\n') for i in self.ifaces: if i.deprecated: self.outfile.write('G_GNUC_DEPRECATED ') diff --git a/gio/tests/gdbus-test-codegen.c b/gio/tests/gdbus-test-codegen.c index a51cf1846..918ed784f 100644 --- a/gio/tests/gdbus-test-codegen.c +++ b/gio/tests/gdbus-test-codegen.c @@ -2398,6 +2398,7 @@ test_autocleanups (void) g_autoptr(FooiGenBar) bar = NULL; g_autoptr(FooiGenBarProxy) bar_proxy = NULL; g_autoptr(FooiGenBarSkeleton) bar_skeleton = NULL; + g_autoptr(FooiGenObject) object = NULL; g_autoptr(FooiGenObjectProxy) object_proxy = NULL; g_autoptr(FooiGenObjectSkeleton) object_skeleton = NULL; g_autoptr(FooiGenObjectManagerClient) object_manager_client = NULL; @@ -2405,6 +2406,7 @@ test_autocleanups (void) (void) bar; (void) bar_proxy; (void) bar_skeleton; + (void) object; (void) object_proxy; (void) object_skeleton; (void) object_manager_client;