Ticket #500 (closed defect: fixed)
[PATCH] Make Atlas work on OS X
|Reported by:||Philip||Owned by:||historic_bruno|
|Priority:||Nice to Have||Milestone:||Alpha 8|
|Component:||Atlas editor||Keywords:||simple, mac, osx|
When running ./pyrogenesis_dbg -editor on OS X, it starts up the editor window and then the window freezes (though all the code threads continue running).
In the current design, pyrogenesis_dbg starts up first, via SDL's main function, which calls [NSApplication run] and eventually ends up in our main (source/main.cpp).
We then detect the -editor flag, load libAtlasUI_dbg.dll, start up a new thread, and run Atlas_StartWindow (source/tools/atlas/AtlasUI/Misc/DLLInterface.cpp) in the new thread, which calls wxEntry to start the wxWidgets event loop.
As far as I can tell, the problem is that we have two Cocoa event loops, one in SDL and one in wxWidgets, and the GUI thread doesn't get the input events it needs. (See here etc for some stuff about Cocoa threading.)
If that's true, we need to do, uh, something to fix it. (I have no idea what, but it might involve a redesign of the game/editor startup process). If that's not true (I'm not an OS X developer so I may easily be mistaken), we need to work out what the problem really is and then do something to fix it.
- Keywords osx, review added; osx removed
- Owner set to historic_bruno
- Status changed from new to assigned
- Summary changed from Make Atlas work on OS X to [PATCH] Make Atlas work on OS X
comment:13 Changed 22 months ago by k776
- Priority changed from Should Have to Nice to Have
- Milestone changed from Alpha 7 to Alpha 8
comment:14 Changed 21 months ago by ben
- Status changed from assigned to closed
- Resolution set to fixed