From 9e3a996ea64c4e08f2034a8a4c653ca288f4aec0 Mon Sep 17 00:00:00 2001 From: Mike Kestner Date: Tue, 28 Apr 2009 17:09:41 +0000 Subject: [PATCH] 2009-04-28 Mike Kestner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * generator/Parameters.cs: ref parameter marshaling fix. [Fixes #498472] Patch by Sebastian Dröge. svn path=/trunk/gtk-sharp/; revision=132863 --- ChangeLog | 5 +++++ generator/Parameters.cs | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 07cfdabe5..c2dd15fb3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-04-28 Mike Kestner + + * generator/Parameters.cs: ref parameter marshaling fix. + [Fixes #498472] Patch by Sebastian Dröge. + 2009-04-27 Christian Hoff * gtk/Widget.custom: Implement signal registration for the diff --git a/generator/Parameters.cs b/generator/Parameters.cs index 9b257a783..3ebafbad7 100644 --- a/generator/Parameters.cs +++ b/generator/Parameters.cs @@ -238,8 +238,11 @@ namespace GtkSharp.Generation { if (PassAs != "out") result += " = " + (gen as IManualMarshaler).AllocNative (CallName); return new string [] { result + ";" }; - } else if (PassAs == "out" && CSType != MarshalType) + } else if (PassAs == "out" && CSType != MarshalType) { return new string [] { gen.MarshalType + " native_" + CallName + ";" }; + } else if (PassAs == "ref" && CSType != MarshalType) { + return new string [] { gen.MarshalType + " native_" + CallName + " = (" + gen.MarshalType + ") " + CallName + ";" }; + } return new string [0]; }