Backends: SDL3: avoid calling SDL_StartTextInput() again if already active. (#8727)

This commit is contained in:
morrazzzz
2025-06-24 23:30:38 +03:00
committed by ocornut
parent 8e3aac5744
commit fff47f1119
2 changed files with 4 additions and 1 deletions

View File

@@ -20,6 +20,7 @@
// CHANGELOG
// (minor and older changes stripped away, please see git history for details)
// 2025-06-27: IME: avoid calling SDL_StartTextInput() again if already active. (#8727)
// 2025-04-22: IME: honor ImGuiPlatformImeData->WantTextInput as an alternative way to call SDL_StartTextInput(), without IME being necessarily visible.
// 2025-04-09: Don't attempt to call SDL_CaptureMouse() on drivers where we don't call SDL_GetGlobalMouseState(). (#8561)
// 2025-03-30: Update for SDL3 api changes: Revert SDL_GetClipboardText() memory ownership change. (#8530, #7801)
@@ -169,7 +170,7 @@ static void ImGui_ImplSDL3_PlatformSetImeData(ImGuiContext*, ImGuiViewport* view
SDL_SetTextInputArea(window, &r, 0);
bd->ImeWindow = window;
}
if (data->WantVisible || data->WantTextInput)
if (!SDL_TextInputActive(window) && (data->WantVisible || data->WantTextInput))
SDL_StartTextInput(window);
}