]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
More error domain declaration fixes
authorJürg Billeter <j@bitron.ch>
Fri, 3 Apr 2009 21:09:50 +0000 (23:09 +0200)
committerJürg Billeter <j@bitron.ch>
Fri, 3 Apr 2009 21:09:50 +0000 (23:09 +0200)
Fixes bug 577738.

gobject/valaccodebasemodule.vala
gobject/valaccodemethodmodule.vala

index c5d2df61b8c80b0f84090fb09f430de87b238f4e..847ac91f82104aec6cab083dace202065a0c09c2 100644 (file)
@@ -1117,6 +1117,11 @@ internal class Vala.CCodeBaseModule : CCodeModule {
                } else if (type is ArrayType) {
                        var array_type = (ArrayType) type;
                        generate_type_declaration (array_type.element_type, decl_space);
+               } else if (type is ErrorType) {
+                       var error_type = (ErrorType) type;
+                       if (error_type.error_domain != null) {
+                               generate_error_domain_declaration (error_type.error_domain, decl_space);
+                       }
                }
 
                foreach (DataType type_arg in type.get_type_arguments ()) {
index 4efab199ba6e84b40ddc36a0ca176bc7973d2583..a404a557d2bc6a608ebb58496e0c9031b77d3ad2 100644 (file)
@@ -105,6 +105,10 @@ internal class Vala.CCodeMethodModule : CCodeStructModule {
                }
 
                if (m.get_error_types ().size > 0) {
+                       foreach (DataType error_type in m.get_error_types ()) {
+                               generate_type_declaration (error_type, decl_space);
+                       }
+
                        var cparam = new CCodeFormalParameter ("error", "GError**");
                        cparam_map.set (get_param_pos (-1), cparam);
                        if (carg_map != null) {