[Gtk-sharp-list] CallbackGen fix for out params

John Luke jluke@users.sourceforge.net
Sat, 01 Nov 2003 20:59:59 -0500


--=-GRZhFGkHUhkoOMNWIYVI
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Hello,

The attached patch to gtk-sharp/generator/CallbackGen.cs fixes the
problems I was having when the Native Callback had out parameters. 
Basically, it doesn't return until after the out params are assigned.



--=-GRZhFGkHUhkoOMNWIYVI
Content-Disposition: attachment; filename=OutFix.diff
Content-Type: text/x-patch; name=OutFix.diff; charset=
Content-Transfer-Encoding: 7bit

Index: CallbackGen.cs
===================================================================
RCS file: /cvs/public/gtk-sharp/generator/CallbackGen.cs,v
retrieving revision 1.29
diff -u -b -r1.29 CallbackGen.cs
--- CallbackGen.cs	13 Oct 2003 21:53:40 -0000	1.29
+++ CallbackGen.cs	2 Nov 2003 02:19:50 -0000
@@ -157,12 +157,16 @@
 					else if (table.IsEnum (rettype))
 						sw.WriteLine ("return (int) {0};", invoke);
 					else
-						sw.WriteLine ("return ({0}) {1};", m_ret, table.ToNativeReturn (rettype, invoke));
+					{
+						sw.WriteLine ("{0} ret = ({0}) {1};", m_ret, table.ToNativeReturn (rettype, invoke));
+						cleanup_str += "\t\t\treturn ret;\n";
+					}
 			} else
 				sw.WriteLine (invoke + ";");
 
 			if (cleanup_str != "")
 				sw.Write (cleanup_str);
+	
 			sw.WriteLine ("\t\t}");
 			sw.WriteLine ();
 

--=-GRZhFGkHUhkoOMNWIYVI--