[vala] Fix crash when passing method as argument to dynamic method
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] Fix crash when passing method as argument to dynamic method
- Date: Sat, 5 Jun 2010 11:25:17 +0000 (UTC)
commit 2312811ae6fac928aa4ddbe40e1e20001459bc35
Author: Luca Bruno <lethalman88 gmail com>
Date: Sun May 30 12:30:07 2010 +0200
Fix crash when passing method as argument to dynamic method
Target type is not set for arguments of dynamic methods.
Fixes bug 620037.
codegen/valaccodedelegatemodule.vala | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/codegen/valaccodedelegatemodule.vala b/codegen/valaccodedelegatemodule.vala
index 5d29717..e503e6c 100644
--- a/codegen/valaccodedelegatemodule.vala
+++ b/codegen/valaccodedelegatemodule.vala
@@ -309,8 +309,8 @@ public class Vala.CCodeDelegateModule : CCodeArrayModule {
}
} else {
var delegate_target = (CCodeExpression) get_ccodenode (ma.inner);
- var delegate_type = (DelegateType) delegate_expr.target_type;
- if ((expr_owned || delegate_type.is_called_once) && ma.inner.value_type.data_type != null && ma.inner.value_type.data_type.is_reference_counting ()) {
+ var delegate_type = delegate_expr.target_type as DelegateType;
+ if ((expr_owned || (delegate_type != null && delegate_type.is_called_once)) && ma.inner.value_type.data_type != null && ma.inner.value_type.data_type.is_reference_counting ()) {
var ref_call = new CCodeFunctionCall (get_dup_func_expression (ma.inner.value_type, delegate_expr.source_reference));
ref_call.add_argument (delegate_target);
delegate_target = ref_call;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]