diff --git a/polymer/eduke32/build/src/startosx.editor.m b/polymer/eduke32/build/src/startosx.editor.m index dbf456584..d351235ae 100644 --- a/polymer/eduke32/build/src/startosx.editor.m +++ b/polymer/eduke32/build/src/startosx.editor.m @@ -582,6 +582,13 @@ int startwin_open(void) [startwin setupMessagesMode]; + [nsapp finishLaunching]; + + [startwin center]; + [startwin makeKeyAndOrderFront:nil]; + + CreateApplicationMenus(); + return 0; } @@ -628,7 +635,20 @@ int startwin_idle(void *v) { UNREFERENCED_PARAMETER(v); - if (startwin) [startwin displayIfNeeded]; + if (startwin) + { + NSEvent *event; + do + { + event = [nsapp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate date] inMode:NSDefaultRunLoopMode dequeue:YES]; + [nsapp sendEvent:event]; + } + while (event != nil); + + [startwin displayIfNeeded]; + [nsapp updateWindows]; + } + return 0; } @@ -647,13 +667,6 @@ int startwin_run(void) [startwin setupRunMode]; - [nsapp finishLaunching]; - - [startwin center]; - [startwin makeKeyAndOrderFront:nil]; - - CreateApplicationMenus(); - do { NSEvent *event = [nsapp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantFuture] inMode:NSDefaultRunLoopMode dequeue:YES]; @@ -663,6 +676,7 @@ int startwin_run(void) while (retval == -1); [startwin setupMessagesMode]; + [nsapp updateWindows]; if (retval) { fullscreen = settings.fullscreen; diff --git a/polymer/eduke32/source/startosx.game.m b/polymer/eduke32/source/startosx.game.m index a2804d023..11829a776 100644 --- a/polymer/eduke32/source/startosx.game.m +++ b/polymer/eduke32/source/startosx.game.m @@ -589,6 +589,13 @@ int startwin_open(void) [startwin setupMessagesMode]; + [nsapp finishLaunching]; + + [startwin center]; + [startwin makeKeyAndOrderFront:nil]; + + CreateApplicationMenus(); + return 0; } @@ -635,7 +642,20 @@ int startwin_idle(void *v) { UNREFERENCED_PARAMETER(v); - if (startwin) [startwin displayIfNeeded]; + if (startwin) + { + NSEvent *event; + do + { + event = [nsapp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate date] inMode:NSDefaultRunLoopMode dequeue:YES]; + [nsapp sendEvent:event]; + } + while (event != nil); + + [startwin displayIfNeeded]; + [nsapp updateWindows]; + } + return 0; } @@ -653,13 +673,6 @@ int startwin_run(void) [startwin setupRunMode]; - [nsapp finishLaunching]; - - [startwin center]; - [startwin makeKeyAndOrderFront:nil]; - - CreateApplicationMenus(); - do { NSEvent *event = [nsapp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantFuture] inMode:NSDefaultRunLoopMode dequeue:YES]; @@ -669,6 +682,7 @@ int startwin_run(void) while (retval == -1); [startwin setupMessagesMode]; + [nsapp updateWindows]; if (retval) { ud.config.ScreenMode = settings.fullscreen;