mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-12-24 00:55:29 +00:00
2009-05-06 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs: null-term array marshaling for vms. * generator/VirtualMethod.cs: use ToNative return type in native callbacks. [Fixes #501294] Patch by Sebastian Dröge. svn path=/trunk/gtk-sharp/; revision=133670
This commit is contained in:
parent
8c8138e17e
commit
2d8692338d
|
@ -1,3 +1,10 @@
|
||||||
|
2009-05-06 Mike Kestner <mkestner@novell.com>
|
||||||
|
|
||||||
|
* generator/ReturnValue.cs: null-term array marshaling for vms.
|
||||||
|
* generator/VirtualMethod.cs: use ToNative return type in native
|
||||||
|
callbacks.
|
||||||
|
[Fixes #501294] Patch by Sebastian Dröge.
|
||||||
|
|
||||||
2009-05-06 Mike Kestner <mkestner@novell.com>
|
2009-05-06 Mike Kestner <mkestner@novell.com>
|
||||||
|
|
||||||
* generator/FieldBase.cs: mangle compound typenames for glue.
|
* generator/FieldBase.cs: mangle compound typenames for glue.
|
||||||
|
|
|
@ -110,9 +110,7 @@ namespace GtkSharp.Generation {
|
||||||
get {
|
get {
|
||||||
if (IGen == null)
|
if (IGen == null)
|
||||||
return String.Empty;
|
return String.Empty;
|
||||||
else if (is_null_term)
|
return IGen.ToNativeReturnType + (is_array || is_null_term ? "[]" : String.Empty);
|
||||||
return "IntPtr"; //FIXME
|
|
||||||
return IGen.ToNativeReturnType + (is_array ? "[]" : String.Empty);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,7 +142,7 @@ namespace GtkSharp.Generation {
|
||||||
string args = ", typeof (" + ElementType + "), " + (owned ? "true" : "false") + ", " + (elements_owned ? "true" : "false");
|
string args = ", typeof (" + ElementType + "), " + (owned ? "true" : "false") + ", " + (elements_owned ? "true" : "false");
|
||||||
var = "new " + IGen.QualifiedName + "(" + var + args + ")";
|
var = "new " + IGen.QualifiedName + "(" + var + args + ")";
|
||||||
} else if (is_null_term)
|
} else if (is_null_term)
|
||||||
return String.Format ("GLib.Marshaller.StringArrayToNullTermPtr ({0})", var);
|
return String.Format ("GLib.Marshaller.StringArrayToNullTermPointer ({0})", var);
|
||||||
|
|
||||||
if (IGen is IManualMarshaler)
|
if (IGen is IManualMarshaler)
|
||||||
return (IGen as IManualMarshaler).AllocNative (var);
|
return (IGen as IManualMarshaler).AllocNative (var);
|
||||||
|
|
|
@ -74,9 +74,9 @@ namespace GtkSharp.Generation {
|
||||||
native_signature += parms.ImportSignature;
|
native_signature += parms.ImportSignature;
|
||||||
|
|
||||||
sw.WriteLine ("\t\t[GLib.CDeclCallback]");
|
sw.WriteLine ("\t\t[GLib.CDeclCallback]");
|
||||||
sw.WriteLine ("\t\tdelegate {0} {1}NativeDelegate ({2});", retval.MarshalType, this.Name, native_signature);
|
sw.WriteLine ("\t\tdelegate {0} {1}NativeDelegate ({2});", retval.ToNativeType, this.Name, native_signature);
|
||||||
sw.WriteLine ();
|
sw.WriteLine ();
|
||||||
sw.WriteLine ("\t\tstatic {0} {1}_cb ({2})", retval.MarshalType, this.Name, native_signature);
|
sw.WriteLine ("\t\tstatic {0} {1}_cb ({2})", retval.ToNativeType, this.Name, native_signature);
|
||||||
sw.WriteLine ("\t\t{");
|
sw.WriteLine ("\t\t{");
|
||||||
string unconditional = call.Unconditional ("\t\t\t");
|
string unconditional = call.Unconditional ("\t\t\t");
|
||||||
if (unconditional.Length > 0)
|
if (unconditional.Length > 0)
|
||||||
|
|
Loading…
Reference in a new issue