Add MiniObject code generator specific cases at more places
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Tue, 2 Jun 2009 10:34:18 +0000 (12:34 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Tue, 2 Jun 2009 10:34:18 +0000 (12:34 +0200)
generator/Ctor.cs
generator/DefaultSignalHandler.cs
generator/Method.cs
generator/ReturnValue.cs

index 776b084..e4ef118 100644 (file)
@@ -37,7 +37,7 @@ namespace GtkSharp.Generation {
                {\r
                        if (elem.HasAttribute ("preferred"))\r
                                preferred = true;\r
-                       if (implementor is ObjectGen)\r
+                       if (implementor is ObjectGen || implementor is MiniObjectGen)\r
                                needs_chaining = true;\r
                        name = implementor.Name;\r
                }\r
index 9893108..2c73d71 100644 (file)
@@ -124,6 +124,8 @@ namespace GtkSharp.Generation {
 
                                if (igen is ObjectGen)
                                        return "GLib.GType.Object";
+                               if (igen is MiniObjectGen)
+                                       return "Gst.MiniObject.GType";
                                if (igen is BoxedGen)
                                        return retval.CSType + ".GType";
                                if (igen is EnumGen)
index 1492bc4..50d6e9c 100644 (file)
@@ -118,7 +118,7 @@ namespace GtkSharp.Generation {
 \r
                        if (Name == "ToString" && Parameters.Count == 0)\r
                                sw.Write("override ");\r
-                       else if (Name == "GetGType" && container_type is ObjectGen)\r
+                       else if (Name == "GetGType" && (container_type is ObjectGen || container_type is MiniObjectGen))\r
                                sw.Write("new ");\r
                        else if (Modifiers == "new " || (dup != null && ((dup.Signature != null && Signature != null && dup.Signature.ToString() == Signature.ToString()) || (dup.Signature == null && Signature == null))))\r
                                sw.Write("new ");\r
index bbf0c29..999f958 100644 (file)
@@ -146,7 +146,7 @@ namespace GtkSharp.Generation {
 \r
                        if (IGen is IManualMarshaler)\r
                                return (IGen as IManualMarshaler).AllocNative (var);\r
-                       else if (IGen is ObjectGen && owned)\r
+                       else if ((IGen is ObjectGen || IGen is MiniObjectGen) && owned)\r
                                return var + " == null ? IntPtr.Zero : " + var + ".OwnedHandle";\r
                        else if (IGen is OpaqueGen && owned)\r
                                return var + " == null ? IntPtr.Zero : " + var + ".OwnedCopy";\r