Merge pull request #194 from Frassle/getentryassembly

[X11] GetEntryAssembly may be null.
This commit is contained in:
thefiddler 2014-11-12 17:59:07 +01:00
commit d59ee5920e

View file

@ -194,8 +194,25 @@ namespace OpenTK.Platform.X11
hints.flags = (IntPtr)(XSizeHintsFlags.PSize | XSizeHintsFlags.PPosition);
XClassHint class_hint = new XClassHint();
class_hint.Name = Assembly.GetEntryAssembly().GetName().Name.ToLower();
class_hint.Class = Assembly.GetEntryAssembly().GetName().Name;
var entry_assembly = Assembly.GetEntryAssembly();
// May not have an entry assembly, try to find a "matching" assembly in the AppDomain
if (entry_assembly == null)
{
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
if (AppDomain.CurrentDomain.FriendlyName.EndsWith(assembly.ManifestModule.Name))
{
if (entry_assembly == null || assembly.ManifestModule.Name.Length > entry_assembly.ManifestModule.Name.Length)
{
entry_assembly = assembly;
}
}
}
}
var name = entry_assembly.GetName().Name;
class_hint.Class = name;
class_hint.Name = name.ToLower();
using (new XLock(window.Display))
{