diff options
Diffstat (limited to 'src/osd/sdl/sdlmain.c')
-rw-r--r-- | src/osd/sdl/sdlmain.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/osd/sdl/sdlmain.c b/src/osd/sdl/sdlmain.c index 2510e77a475..221a3f0dad6 100644 --- a/src/osd/sdl/sdlmain.c +++ b/src/osd/sdl/sdlmain.c @@ -38,10 +38,6 @@ #include <os2.h> #endif -#ifdef SDLMAME_EMSCRIPTEN -#include <emscripten.h> -#endif - #include "sdlinc.h" // MAME headers @@ -295,10 +291,6 @@ int main(int argc, char *argv[]) MorphToPM(); #endif - #ifdef SDLMAME_EMSCRIPTEN - EM_ASM("SDL.defaults.copyOnLock = false; SDL.defaults.discardOnLock = true;"); - #endif - #if defined(SDLMAME_X11) && (SDL_MAJOR_VERSION == 1) && (SDL_MINOR_VERSION == 2) if (SDL_Linked_Version()->patch < 10) /* workaround for SDL choosing a 32-bit ARGB visual */ @@ -619,7 +611,12 @@ void sdl_osd_interface::init(running_machine &machine) if (!SDLMAME_INIT_IN_WORKER_THREAD) { #if (SDLMAME_SDL2) +#ifdef SDLMAME_EMSCRIPTEN + // timer brings in threads which are not supported in Emscripten + if (SDL_InitSubSystem(SDL_INIT_VIDEO| SDL_INIT_JOYSTICK|SDL_INIT_NOPARACHUTE)) { +#else if (SDL_InitSubSystem(SDL_INIT_TIMER| SDL_INIT_VIDEO| SDL_INIT_JOYSTICK|SDL_INIT_NOPARACHUTE)) { +#endif #else if (SDL_Init(SDL_INIT_TIMER|SDL_INIT_VIDEO| SDL_INIT_JOYSTICK|SDL_INIT_NOPARACHUTE)) { #endif @@ -655,7 +652,11 @@ void sdl_osd_interface::init(running_machine &machine) } #if (SDLMAME_SDL2) +#ifdef SDLMAME_EMSCRIPTEN + SDL_EventState(SDL_TEXTINPUT, SDL_FALSE); +#else SDL_EventState(SDL_TEXTINPUT, SDL_TRUE); +#endif #else SDL_EnableUNICODE(SDL_TRUE); #endif |