Wednesday, January 25, 2012

In OS X, SDL only delivers messages to the first thread?

I was trying to get a Rockbox simulator working in OS X. After dealing with a bunch of other issues, I got an executable which displays a beachball cursor and doesn't respond to input.  I found a post that claimed events sent to the app are only dispatched to the main thread. Then I rearranged code so the main thread initializes the video and handles messages and input worked properly.

The SDL documentation claims SDL_WaitEvent() can only be called from "thread that set the video mode". This is apparently not a sufficient condition for OS X.

No comments: