Fix when a string containing CRLF is pasted from the clipboard (#826)

This commit is contained in:
sumibi-yakitori 2021-10-21 05:26:26 +09:00 committed by GitHub
parent 2a9037cd90
commit 19766bfe4c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View file

@ -490,7 +490,9 @@ impl State {
self.egui_input.events.push(egui::Event::Copy);
} else if is_paste_command(self.egui_input.modifiers, keycode) {
if let Some(contents) = self.clipboard.get() {
self.egui_input.events.push(egui::Event::Text(contents));
self.egui_input
.events
.push(egui::Event::Text(contents.replace("\r\n", "\n")));
}
}
}

View file

@ -642,7 +642,11 @@ fn install_document_events(runner_ref: &AppRunnerRef) -> Result<(), JsValue> {
if let Some(data) = event.clipboard_data() {
if let Ok(text) = data.get_data("text") {
let mut runner_lock = runner_ref.0.lock();
runner_lock.input.raw.events.push(egui::Event::Text(text));
runner_lock
.input
.raw
.events
.push(egui::Event::Text(text.replace("\r\n", "\n")));
runner_lock.needs_repaint.set_true();
event.stop_propagation();
event.prevent_default();