From 6d9785c7f7e4470a6cfc2a10c17af5aa74207ad2 Mon Sep 17 00:00:00 2001 From: Todd Berman Date: Wed, 1 Dec 2004 21:41:10 +0000 Subject: [PATCH] 2004-12-01 Todd Berman * generator/StructGen.cs: Check to see if a GType is going to be generated. If not, generate a GType.Pointer. This fixes bug #70017. * glib/TypeConverter.cs: Remove the .IsValueType check, as those now have GType properties. * gda/Gda.metadata: Change GdaValue.GType to GdaValue.GdaType. * doc/en/Gda/Value.xml: Regenerated to reflect new API. svn path=/trunk/gtk-sharp/; revision=36912 --- ChangeLog | 10 ++++++++++ doc/en/Gda/Value.xml | 28 ++++++++++++++-------------- gda/Gda.metadata | 1 + generator/StructGen.cs | 14 +++++++++++++- glib/TypeConverter.cs | 4 +--- 5 files changed, 39 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4945eb52a..26d927bb9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2004-12-01 Todd Berman + + * generator/StructGen.cs: Check to see if a GType is going to be + generated. If not, generate a GType.Pointer. This fixes bug + #70017. + * glib/TypeConverter.cs: Remove the .IsValueType check, as those + now have GType properties. + * gda/Gda.metadata: Change GdaValue.GType to GdaValue.GdaType. + * doc/en/Gda/Value.xml: Regenerated to reflect new API. + 2004-11-30 Dan Winship * sample/GtkDemo/DemoImages.cs: Fix some crashers discovered while diff --git a/doc/en/Gda/Value.xml b/doc/en/Gda/Value.xml index 4aeb531a3..b127b7431 100644 --- a/doc/en/Gda/Value.xml +++ b/doc/en/Gda/Value.xml @@ -696,19 +696,6 @@ To be added - - - Property - - Gda.ValueType - - - - To be added - a - To be added - - Property @@ -1209,5 +1196,18 @@ To be added + + + Property + + Gda.ValueType + + + + To be added + a + To be added + + - \ No newline at end of file + diff --git a/gda/Gda.metadata b/gda/Gda.metadata index 22d253c98..a7c00bb70 100644 --- a/gda/Gda.metadata +++ b/gda/Gda.metadata @@ -16,5 +16,6 @@ 1 1 1 + GetGdaType diff --git a/generator/StructGen.cs b/generator/StructGen.cs index a6ef8c3bd..1162a8b23 100644 --- a/generator/StructGen.cs +++ b/generator/StructGen.cs @@ -37,9 +37,21 @@ namespace GtkSharp.Generation { public override void Generate (GenerationInfo gen_info) { + StreamWriter sw = gen_info.Writer = gen_info.OpenStream (Name); base.Generate (gen_info); + if (GetMethod ("GetType") == null && GetMethod ("GetGType") == null) { + sw.WriteLine ("\t\tprivate static GLib.GType GType {"); + sw.WriteLine ("\t\t\tget { return GLib.GType.Pointer; }"); + sw.WriteLine ("\t\t}"); + } + sw.WriteLine ("#endregion"); + AppendCustom (sw, gen_info.CustomDir); + sw.WriteLine ("\t}"); + sw.WriteLine ("}"); + sw.Close (); + gen_info.Writer = null; Statistics.StructCount++; - } + } } } diff --git a/glib/TypeConverter.cs b/glib/TypeConverter.cs index 72aea2961..e8b92d44f 100644 --- a/glib/TypeConverter.cs +++ b/glib/TypeConverter.cs @@ -46,13 +46,11 @@ namespace GLib { return GType.UInt; if (type.IsSubclassOf (typeof (GLib.Object))) return GType.Object; - PropertyInfo pi = type.GetProperty ("GType", BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy); + PropertyInfo pi = type.GetProperty ("GType", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.FlattenHierarchy); if (pi != null) return (GType) pi.GetValue (null, null); if (type.IsSubclassOf (typeof (GLib.Opaque))) return GType.Pointer; - if (type.IsValueType) - return GType.Pointer; return ManagedValue.GType; }