diff --git a/ChangeLog b/ChangeLog index 935dea5ed..48ae96468 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-07-12 Mike Kestner + + * glib/GType.cs: fail gracefully for non-studly-case typename lookups. + [Fixes #515453] + 2009-07-12 Mike Kestner * sample/Makefile.am: fix for cairo conflicts related to the switch to gmcs. diff --git a/glib/GType.cs b/glib/GType.cs index 94471e8aa..762b00639 100755 --- a/glib/GType.cs +++ b/glib/GType.cs @@ -162,7 +162,7 @@ namespace GLib { } } - throw new ArgumentException ("cname is not in NamespaceType format. GType.Register should be called directly for " + cname); + return null; } public static explicit operator Type (GType gtype) @@ -182,6 +182,8 @@ namespace GLib { string native_name = Marshaller.Utf8PtrToString (g_type_name (typeid)); string type_name = GetQualifiedName (native_name); + if (type_name == null) + return null; Type result = null; Assembly[] assemblies = (Assembly[]) AppDomain.CurrentDomain.GetAssemblies ().Clone (); foreach (Assembly asm in assemblies) {