v1.4.0: fixed crashes on Android when clipboard contains no text

This commit is contained in:
Evan Debenham
2022-09-22 14:00:55 -04:00
parent edf3c6d6d8
commit e080086bd8

View File

@@ -143,20 +143,20 @@ public class TextInput extends Component {
}
public void pasteFromClipboard(){
if (!Gdx.app.getClipboard().hasContents()) return;
String contents = Gdx.app.getClipboard().getContents();
if (contents == null) return;
if (!textField.getSelection().isEmpty()){
//just use cut, but override clipboard
String existingClip = Gdx.app.getClipboard().getContents();
textField.cut();
Gdx.app.getClipboard().setContents(existingClip);
Gdx.app.getClipboard().setContents(contents);
}
String existing = textField.getText();
int cursorIdx = textField.getCursorPosition();
textField.setText(existing.substring(0, cursorIdx) + Gdx.app.getClipboard().getContents() + existing.substring(cursorIdx));
textField.setCursorPosition(cursorIdx + Gdx.app.getClipboard().getContents().length());
textField.setText(existing.substring(0, cursorIdx) + contents + existing.substring(cursorIdx));
textField.setCursorPosition(cursorIdx + contents.length());
}
@Override