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:
authorMarius Ungureanu <marius.ungureanu@xamarin.com>2019-11-11 15:15:29 +0300
committerGitHub <noreply@github.com>2019-11-11 15:15:29 +0300
commitd20d9e94f903903c0b492240f2c7c2d2d57ff4e0 (patch)
tree4ca75a857b2d379e6f355db5a0c459170005e478 /Xwt.XamMac/Xwt.Mac/NSApplicationInitializer.cs
parent9a698e3b21ccff481668ef0656873b08099e365b (diff)
parentc16366bb19267eec033278dca48dc65699dfe963 (diff)
Merge pull request #1004 from mono/pr-abock-appdelegate
MacEngine: support custom NSApplicationDelegate, improve init
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 ();
}
}