mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-09-09 00:13:20 +02:00
2003-11-02 Mike Kestner <mkestner@ximian.com>
* generator/CallbackGen.cs : use a temporary ret value if there is any cleanup to be done after the call. Thanks to John Luke for a patch which identified the problem. svn path=/trunk/gtk-sharp/; revision=19561
This commit is contained in:
parent
68ee3bc9b4
commit
7ade209999
@ -1,3 +1,9 @@
|
|||||||
|
2003-11-02 Mike Kestner <mkestner@ximian.com>
|
||||||
|
|
||||||
|
* generator/CallbackGen.cs : use a temporary ret value if there
|
||||||
|
is any cleanup to be done after the call. Thanks to John Luke
|
||||||
|
for a patch which identified the problem.
|
||||||
|
|
||||||
2003-11-01 Radek Doulik <rodo@ximian.com>
|
2003-11-01 Radek Doulik <rodo@ximian.com>
|
||||||
|
|
||||||
* gtk/TreeModelSort.custom: implementation of GetValue/SetValue
|
* gtk/TreeModelSort.custom: implementation of GetValue/SetValue
|
||||||
|
@ -148,16 +148,22 @@ namespace GtkSharp.Generation {
|
|||||||
sw.Write ("\t\t\t");
|
sw.Write ("\t\t\t");
|
||||||
string invoke = "_managed (" + call_str + ")";
|
string invoke = "_managed (" + call_str + ")";
|
||||||
if (m_ret != "void") {
|
if (m_ret != "void") {
|
||||||
|
if (cleanup_str == "")
|
||||||
|
sw.Write ("return ");
|
||||||
|
else {
|
||||||
|
sw.Write (m_ret + " ret = ");
|
||||||
|
cleanup_str += "\t\t\treturn ret;\n";
|
||||||
|
}
|
||||||
|
|
||||||
if (ret_wrapper != null && (ret_wrapper is ObjectGen || ret_wrapper is OpaqueGen))
|
if (ret_wrapper != null && (ret_wrapper is ObjectGen || ret_wrapper is OpaqueGen))
|
||||||
sw.WriteLine ("return (({0}) {1}).Handle;", s_ret, invoke);
|
sw.WriteLine ("(({0}) {1}).Handle;", s_ret, invoke);
|
||||||
else if (table.IsStruct (rettype) || table.IsBoxed (rettype)) {
|
else if (table.IsStruct (rettype) || table.IsBoxed (rettype)) {
|
||||||
// Shoot. I have no idea what to do here.
|
// Shoot. I have no idea what to do here.
|
||||||
sw.WriteLine ("return IntPtr.Zero;");
|
sw.WriteLine ("IntPtr.Zero;");
|
||||||
}
|
} else if (table.IsEnum (rettype))
|
||||||
else if (table.IsEnum (rettype))
|
sw.WriteLine ("(int) {0};", invoke);
|
||||||
sw.WriteLine ("return (int) {0};", invoke);
|
|
||||||
else
|
else
|
||||||
sw.WriteLine ("return ({0}) {1};", m_ret, table.ToNativeReturn (rettype, invoke));
|
sw.WriteLine ("({0}) {1};", m_ret, table.ToNativeReturn (rettype, invoke));
|
||||||
} else
|
} else
|
||||||
sw.WriteLine (invoke + ";");
|
sw.WriteLine (invoke + ";");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user