diff --git a/src/Magnum/Platform/Sdl2Application.cpp b/src/Magnum/Platform/Sdl2Application.cpp index 30b6ec26f..b7f731e78 100644 --- a/src/Magnum/Platform/Sdl2Application.cpp +++ b/src/Magnum/Platform/Sdl2Application.cpp @@ -495,21 +495,21 @@ bool Sdl2Application::isTextInputActive() { #ifndef CORRADE_TARGET_EMSCRIPTEN return SDL_IsTextInputActive(); #else - return _isTextInputActive; + return !!(_flags & Flag::TextInputActive); #endif } void Sdl2Application::startTextInput() { SDL_StartTextInput(); #ifdef CORRADE_TARGET_EMSCRIPTEN - _isTextInputActive = true; + _flags |= Flag::TextInputActive; #endif } void Sdl2Application::stopTextInput() { SDL_StopTextInput(); #ifdef CORRADE_TARGET_EMSCRIPTEN - _isTextInputActive = false; + _flags &= ~Flag::TextInputActive; #endif } diff --git a/src/Magnum/Platform/Sdl2Application.h b/src/Magnum/Platform/Sdl2Application.h index ef7e9924f..e2591e302 100644 --- a/src/Magnum/Platform/Sdl2Application.h +++ b/src/Magnum/Platform/Sdl2Application.h @@ -680,6 +680,9 @@ class Sdl2Application { #ifndef CORRADE_TARGET_EMSCRIPTEN Exit = 1 << 3 #endif + #ifdef CORRADE_TARGET_EMSCRIPTEN + TextInputActive = 1 << 4 + #endif }; typedef Containers::EnumSet Flags; @@ -698,7 +701,6 @@ class Sdl2Application { UnsignedInt _minimalLoopPeriod; #else SDL_Surface* _glContext; - bool _isTextInputActive = false; #endif std::unique_ptr _context;