=== modified file 'gobject/valaccodebasemodule.vala'
--- gobject/valaccodebasemodule.vala	2008-12-21 12:05:24 +0000
+++ gobject/valaccodebasemodule.vala	2009-02-02 20:36:44 +0000
@@ -2859,6 +2859,14 @@
 							var rhs_array_len = head.get_array_length_cexpression (init.initializer, dim);
 							ccomma.append_expression (new CCodeAssignment (lhs, rhs_array_len));
 						}
+					} else if (f.field_type is DelegateType) {
+						if (expr.type_reference.data_type is Struct) {
+							lhs = new CCodeMemberAccess (typed_inst, get_delegate_target_cname(f.get_cname()));
+						} else {
+							lhs = new CCodeMemberAccess.pointer (typed_inst, get_delegate_target_cname(f.get_cname()));
+						}
+						var rhs_delegate_target = get_delegate_target_cexpression (init.initializer);
+						ccomma.append_expression (new CCodeAssignment (lhs, rhs_delegate_target));
 					}
 				} else if (init.symbol_reference is Property) {
 					var inst_ma = new MemberAccess.simple ("new");

