|
@@ -33,12 +33,15 @@ void InputSourceKeyboard::handleEventKeyDown(const SDL_KeyboardEvent & key)
|
|
|
{
|
|
|
if (SDL_IsTextInputActive() == SDL_TRUE)
|
|
|
{
|
|
|
- if(key.keysym.sym == SDLK_v && isKeyboardCtrlDown()) {
|
|
|
- std::string clipboardContent = SDL_GetClipboardText();
|
|
|
- boost::erase_all(clipboardContent, "\r");
|
|
|
- boost::erase_all(clipboardContent, "\n");
|
|
|
- GH.events().dispatchTextInput(clipboardContent);
|
|
|
- return;
|
|
|
+ if(key.keysym.sym == SDLK_v && isKeyboardCtrlDown())
|
|
|
+ {
|
|
|
+ char * clipboardBuffer = SDL_GetClipboardText();
|
|
|
+ std::string clipboardContent = clipboardBuffer;
|
|
|
+ boost::erase_all(clipboardContent, "\r");
|
|
|
+ boost::erase_all(clipboardContent, "\n");
|
|
|
+ GH.events().dispatchTextInput(clipboardContent);
|
|
|
+ SDL_free(clipboardBuffer);
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
if (key.keysym.sym >= ' ' && key.keysym.sym < 0x80)
|