mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-12-24 13:35:38 +00:00
2009-05-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* glib/Value.cs: return int object value for GType.Enum values if the explicit gtype is not found. [Fixes #503060] svn path=/trunk/gtk-sharp/; revision=134075
This commit is contained in:
parent
95c418fe40
commit
8bb550b893
|
@ -1,3 +1,8 @@
|
||||||
|
2009-05-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||||
|
|
||||||
|
* glib/Value.cs: return int object value for GType.Enum values if
|
||||||
|
the explicit gtype is not found. [Fixes #503060]
|
||||||
|
|
||||||
2009-05-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
2009-05-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||||
|
|
||||||
* glib/ValueArray.cs: use type specific PtrToStructure marshaling to
|
* glib/ValueArray.cs: use type specific PtrToStructure marshaling to
|
||||||
|
|
|
@ -393,6 +393,20 @@ namespace GLib {
|
||||||
this = (GLib.Value) parameters[0];
|
this = (GLib.Value) parameters[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object ToEnum ()
|
||||||
|
{
|
||||||
|
Type t = GType.LookupType (type);
|
||||||
|
|
||||||
|
if (t == null) {
|
||||||
|
if (HoldsFlags)
|
||||||
|
return g_value_get_flags (ref this);
|
||||||
|
else
|
||||||
|
return g_value_get_enum (ref this);
|
||||||
|
} else {
|
||||||
|
return (Enum) this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
object ToBoxed ()
|
object ToBoxed ()
|
||||||
{
|
{
|
||||||
IntPtr boxed_ptr = g_value_get_boxed (ref this);
|
IntPtr boxed_ptr = g_value_get_boxed (ref this);
|
||||||
|
@ -428,7 +442,7 @@ namespace GLib {
|
||||||
return (ulong) this;
|
return (ulong) this;
|
||||||
else if (GType.Is (type, GType.Enum) ||
|
else if (GType.Is (type, GType.Enum) ||
|
||||||
GType.Is (type, GType.Flags))
|
GType.Is (type, GType.Flags))
|
||||||
return (Enum) this;
|
return ToEnum ();
|
||||||
else if (type == GType.Float.Val)
|
else if (type == GType.Float.Val)
|
||||||
return (float) this;
|
return (float) this;
|
||||||
else if (type == GType.Double.Val)
|
else if (type == GType.Double.Val)
|
||||||
|
|
Loading…
Reference in a new issue