mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-19 22:05:58 +00:00
Update glib-sharp from SVN trunk
This commit is contained in:
parent
1841f75917
commit
923553d7a7
1 changed files with 18 additions and 10 deletions
|
@ -93,10 +93,12 @@ namespace GLib {
|
||||||
|
|
||||||
public static void Register (GType native_type, System.Type type)
|
public static void Register (GType native_type, System.Type type)
|
||||||
{
|
{
|
||||||
if (native_type != GType.Pointer && native_type != GType.Boxed && native_type != ManagedValue.GType)
|
lock (types) {
|
||||||
types[native_type.Val] = type;
|
if (native_type != GType.Pointer && native_type != GType.Boxed && native_type != ManagedValue.GType)
|
||||||
if (type != null)
|
types[native_type.Val] = type;
|
||||||
gtypes[type] = native_type;
|
if (type != null)
|
||||||
|
gtypes[type] = native_type;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static GType ()
|
static GType ()
|
||||||
|
@ -128,8 +130,10 @@ namespace GLib {
|
||||||
{
|
{
|
||||||
GType gtype;
|
GType gtype;
|
||||||
|
|
||||||
if (gtypes.Contains (type))
|
lock (types) {
|
||||||
return (GType)gtypes[type];
|
if (gtypes.Contains (type))
|
||||||
|
return (GType)gtypes[type];
|
||||||
|
}
|
||||||
|
|
||||||
if (type.IsSubclassOf (typeof (GLib.Object))) {
|
if (type.IsSubclassOf (typeof (GLib.Object))) {
|
||||||
gtype = GLib.Object.LookupGType (type);
|
gtype = GLib.Object.LookupGType (type);
|
||||||
|
@ -181,8 +185,10 @@ namespace GLib {
|
||||||
|
|
||||||
public static Type LookupType (IntPtr typeid)
|
public static Type LookupType (IntPtr typeid)
|
||||||
{
|
{
|
||||||
if (types.Contains (typeid))
|
lock (types) {
|
||||||
return (Type)types[typeid];
|
if (types.Contains (typeid))
|
||||||
|
return (Type)types[typeid];
|
||||||
|
}
|
||||||
|
|
||||||
string native_name = Marshaller.Utf8PtrToString (g_type_name (typeid));
|
string native_name = Marshaller.Utf8PtrToString (g_type_name (typeid));
|
||||||
|
|
||||||
|
@ -365,8 +371,10 @@ namespace GLib {
|
||||||
|
|
||||||
internal static GType LookupGObjectType (System.Type t)
|
internal static GType LookupGObjectType (System.Type t)
|
||||||
{
|
{
|
||||||
if (gtypes.Contains (t))
|
lock (types) {
|
||||||
return (GType) gtypes [t];
|
if (gtypes.Contains (t))
|
||||||
|
return (GType) gtypes [t];
|
||||||
|
}
|
||||||
|
|
||||||
PropertyInfo pi = t.GetProperty ("GType", BindingFlags.DeclaredOnly | BindingFlags.Static | BindingFlags.Public);
|
PropertyInfo pi = t.GetProperty ("GType", BindingFlags.DeclaredOnly | BindingFlags.Static | BindingFlags.Public);
|
||||||
if (pi != null)
|
if (pi != null)
|
||||||
|
|
Loading…
Reference in a new issue