[vala] codegen: Omit free function from unowned simple generic arguments
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] codegen: Omit free function from unowned simple generic arguments
- Date: Mon, 8 Nov 2010 20:08:39 +0000 (UTC)
commit a6ea3d325d8d1b018d3322dc3e6e65bc76d26681
Author: Evan Nemerson <evan coeus-group com>
Date: Sun Nov 7 00:25:08 2010 -0700
codegen: Omit free function from unowned simple generic arguments
Fixes bug 627198.
codegen/valaccodemethodcallmodule.vala | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/codegen/valaccodemethodcallmodule.vala b/codegen/valaccodemethodcallmodule.vala
index dd7e499..f37d57f 100644
--- a/codegen/valaccodemethodcallmodule.vala
+++ b/codegen/valaccodemethodcallmodule.vala
@@ -383,10 +383,12 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
var generic_type = (GenericType) param.variable_type;
int type_param_index = m.get_type_parameter_index (generic_type.type_parameter.name);
var type_arg = ma.get_type_arguments ().get (type_param_index);
- if (requires_copy (type_arg)) {
- carg_map.set (get_param_pos (param.cdestroy_notify_parameter_position), get_destroy_func_expression (type_arg));
- } else {
- carg_map.set (get_param_pos (param.cdestroy_notify_parameter_position), new CCodeConstant ("NULL"));
+ if (param.variable_type.value_owned) {
+ if (requires_copy (type_arg)) {
+ carg_map.set (get_param_pos (param.cdestroy_notify_parameter_position), get_destroy_func_expression (type_arg));
+ } else {
+ carg_map.set (get_param_pos (param.cdestroy_notify_parameter_position), new CCodeConstant ("NULL"));
+ }
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]