From 2b38557f49e744a9c5d8e537ea4d1ff7d63c2eda Mon Sep 17 00:00:00 2001 From: hendricks266 Date: Mon, 26 Dec 2016 06:02:34 +0000 Subject: [PATCH] Mac: Make the startup windows responsive and actively updating while in "show message log, the program is working" mode. git-svn-id: https://svn.eduke32.com/eduke32@5967 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/build/src/startosx.editor.m | 30 +++++++++++++++------ polymer/eduke32/source/startosx.game.m | 30 +++++++++++++++------ 2 files changed, 44 insertions(+), 16 deletions(-) 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;