Added SDL_utf8strlcpy to copy at UTF-8 character boundaries.

Changed SDL_SendKeyboardText and SDL_SendEditingText to use SDL_utf8strlcpy.
This commit is contained in:
dewyatt 2010-07-13 15:05:45 -04:00
parent 7e8c791089
commit 34d5cdc704
3 changed files with 52 additions and 2 deletions

View file

@ -766,7 +766,7 @@ SDL_SendKeyboardText(const char *text)
SDL_Event event;
event.text.type = SDL_TEXTINPUT;
event.text.windowID = keyboard->focus ? keyboard->focus->id : 0;
SDL_strlcpy(event.text.text, text, SDL_arraysize(event.text.text));
SDL_utf8strlcpy(event.text.text, text, SDL_arraysize(event.text.text));
event.text.windowID = keyboard->focus ? keyboard->focus->id : 0;
posted = (SDL_PushEvent(&event) > 0);
}
@ -787,7 +787,7 @@ SDL_SendEditingText(const char *text, int start, int length)
event.edit.windowID = keyboard->focus ? keyboard->focus->id : 0;
event.edit.start = start;
event.edit.length = length;
SDL_strlcpy(event.edit.text, text, SDL_arraysize(event.edit.text));
SDL_utf8strlcpy(event.edit.text, text, SDL_arraysize(event.edit.text));
posted = (SDL_PushEvent(&event) > 0);
}
return (posted);