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