if (m is CreationMethod && m.parent_symbol is Class && ((current_class.is_compact && current_class.base_class != null) || current_class.base_class == gsource_type)) {
var cinitcall = new CCodeFunctionCall (new CCodeIdentifier ("%s_instance_init".printf (get_ccode_lower_case_name (current_class, null))));
cinitcall.add_argument (get_this_cexpression ());
- cinitcall.add_argument (new CCodeConstant ("NULL"));
+ if (!current_class.is_compact) {
+ cinitcall.add_argument (new CCodeConstant ("NULL"));
+ }
ccode.add_expression (cinitcall);
}
}
if (cl.base_class == null) {
var cinitcall = new CCodeFunctionCall (new CCodeIdentifier ("%s_instance_init".printf (get_ccode_lower_case_name (cl, null))));
cinitcall.add_argument (get_this_cexpression ());
- cinitcall.add_argument (new CCodeConstant ("NULL"));
+ if (!cl.is_compact) {
+ cinitcall.add_argument (new CCodeConstant ("NULL"));
+ }
ccode.add_expression (cinitcall);
}
} else {
var func = new CCodeFunction ("%s_instance_init".printf (get_ccode_lower_case_name (cl, null)));
func.add_parameter (new CCodeParameter ("self", "%s *".printf (get_ccode_name (cl))));
- func.add_parameter (new CCodeParameter ("klass", "gpointer"));
+ if (!cl.is_compact) {
+ func.add_parameter (new CCodeParameter ("klass", "gpointer"));
+ }
func.modifiers = CCodeModifiers.STATIC;
push_function (func);