Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/xwt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Xwt.XamMac/Xwt.Mac/NSApplicationInitializer.cs')
-rw-r--r--Xwt.XamMac/Xwt.Mac/NSApplicationInitializer.cs17
1 files changed, 8 insertions, 9 deletions
diff --git a/Xwt.XamMac/Xwt.Mac/NSApplicationInitializer.cs b/Xwt.XamMac/Xwt.Mac/NSApplicationInitializer.cs
index b051f47a..580573c3 100644
--- a/Xwt.XamMac/Xwt.Mac/NSApplicationInitializer.cs
+++ b/Xwt.XamMac/Xwt.Mac/NSApplicationInitializer.cs
@@ -24,23 +24,22 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
+using System;
+
using AppKit;
namespace Xwt.Mac
{
static class NSApplicationInitializer
{
+ [ThreadStatic]
+ static bool initialized;
+
public static void Initialize ()
{
- var ds = System.Threading.Thread.GetNamedDataSlot ("NSApplication.Initialized");
- if (System.Threading.Thread.GetData (ds) == null) {
- System.Threading.Thread.SetData (ds, true);
-
- // IgnoreMissingAssembliesDuringRegistration is only avalilable in Xamarin.Mac 3.4+
- // Use reflection to not break builds with older Xamarin.Mac
- var ignoreMissingAssemblies = typeof (NSApplication).GetField ("IgnoreMissingAssembliesDuringRegistration",
- System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
- ignoreMissingAssemblies?.SetValue (null, true);
+ if (!initialized) {
+ initialized = true;
+ NSApplication.IgnoreMissingAssembliesDuringRegistration = true;
NSApplication.Init ();
}
}