From 8ffc1097fb9ddd345e95d891ab1e658f9207f420 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20G=2E=20Aragoneses?= Date: Tue, 6 Jan 2009 15:27:12 +0000 Subject: [PATCH] revert r122505 svn path=/trunk/gtk-sharp/; revision=122553 --- ChangeLog | 6 ++++++ glib/GType.cs | 6 +++--- glib/Value.cs | 18 +++++++++--------- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 48304bf6a..3ca2bd38f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-01-05 Andrés G. Aragoneses + + * GType.cs: + * Value.cs: Revert r122505. + [Reasoning on #448009] + 2009-01-06 Stephane Delcroix * gtk/Gtk.metadata: fix gtk_icon_theme_lookup_by_gicon return-type diff --git a/glib/GType.cs b/glib/GType.cs index 4daf74baf..dcc76fed0 100755 --- a/glib/GType.cs +++ b/glib/GType.cs @@ -334,14 +334,14 @@ namespace GLib { return Marshal.ReadIntPtr (klass); } - internal bool IsA (IntPtr type) + internal static bool Is (IntPtr type, GType is_a_type) { - return g_type_is_a (type, Val); + return g_type_is_a (type, is_a_type.Val); } public bool IsInstance (IntPtr raw) { - return IsA (ValFromInstancePtr (raw)); + return GType.Is (ValFromInstancePtr (raw), this); } [DllImport("libgobject-2.0-0.dll")] diff --git a/glib/Value.cs b/glib/Value.cs index 0f18383a2..d8954b856 100755 --- a/glib/Value.cs +++ b/glib/Value.cs @@ -351,8 +351,8 @@ namespace GLib { return (long) this; else if (type == GType.UInt64.Val) return (ulong) this; - else if (GType.Enum.IsA (type) || - GType.Flags.IsA (type)) + else if (GType.Is (type, GType.Enum) || + GType.Is (type, GType.Flags)) return (Enum) this; else if (type == GType.Float.Val) return (float) this; @@ -366,9 +366,9 @@ namespace GLib { return g_value_get_param (ref this); else if (type == ManagedValue.GType.Val) return ManagedValue.ObjectForWrapper (g_value_get_boxed (ref this)); - else if (GType.Object.IsA (type)) + else if (GType.Is (type, GType.Object)) return (GLib.Object) this; - else if (GType.Boxed.IsA (type)) + else if (GType.Is (type, GType.Boxed)) return ToBoxed (); else if (type == IntPtr.Zero) return null; @@ -390,9 +390,9 @@ namespace GLib { g_value_set_int64 (ref this, (long) value); else if (type == GType.UInt64.Val) g_value_set_uint64 (ref this, (ulong) value); - else if (GType.Enum.IsA (type)) + else if (GType.Is (type, GType.Enum)) g_value_set_enum (ref this, (int)value); - else if (GType.Flags.IsA (type)) + else if (GType.Is (type, GType.Flags)) g_value_set_flags (ref this, (uint)(int)value); else if (type == GType.Float.Val) g_value_set_float (ref this, (float) value); @@ -419,12 +419,12 @@ namespace GLib { IntPtr wrapper = ManagedValue.WrapObject (value); g_value_set_boxed (ref this, wrapper); ManagedValue.ReleaseWrapper (wrapper); - } else if (GType.Object.IsA (type)) + } else if (GType.Is (type, GType.Object)) if(value is GLib.Object) g_value_set_object (ref this, (value as GLib.Object).Handle); else g_value_set_object (ref this, (value as GLib.GInterfaceAdapter).Handle); - else if (GType.Boxed.IsA (type)) { + else if (GType.Is (type, GType.Boxed)) { if (value is IWrapper) { g_value_set_boxed (ref this, ((IWrapper)value).Handle); return; @@ -439,7 +439,7 @@ namespace GLib { internal void Update (object val) { - if (GType.Boxed.IsA (type) && !(val is IWrapper)) + if (GType.Is (type, GType.Boxed) && !(val is IWrapper)) Marshal.StructureToPtr (val, g_value_get_boxed (ref this), false); }