From c8bb4cf6e56353f3f7831753fba7d2943415fecd Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Tue, 28 Sep 2021 20:47:02 +0200 Subject: [PATCH] Fix multiline pasting in egui_web Closes https://github.com/emilk/egui/issues/738 --- egui_web/CHANGELOG.md | 7 +++++-- egui_web/src/lib.rs | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/egui_web/CHANGELOG.md b/egui_web/CHANGELOG.md index 3941a9b8..337bcba0 100644 --- a/egui_web/CHANGELOG.md +++ b/egui_web/CHANGELOG.md @@ -6,8 +6,11 @@ All notable changes to the `egui_web` integration will be noted in this file. ## Unreleased ### Added * Remove "http" feature (use https://github.com/emilk/ehttp instead!). -* `epi::NativeTexture` trait for webgl1 webgl2 painter -* Deprecate `Painter::register_webgl_texture` +* `epi::NativeTexture` trait for webgl1 webgl2 painter. +* Deprecate `Painter::register_webgl_texture. + +### Fixed 🐛 +* Fix multiline paste. ## 0.14.1 - 2021-08-28 diff --git a/egui_web/src/lib.rs b/egui_web/src/lib.rs index a390522f..14b7af65 100644 --- a/egui_web/src/lib.rs +++ b/egui_web/src/lib.rs @@ -641,8 +641,7 @@ fn install_document_events(runner_ref: &AppRunnerRef) -> Result<(), JsValue> { } #[cfg(web_sys_unstable_apis)] - // paste is handled by IME text agent! - if false { + { // paste let runner_ref = runner_ref.clone(); let closure = Closure::wrap(Box::new(move |event: web_sys::ClipboardEvent| { @@ -651,6 +650,8 @@ fn install_document_events(runner_ref: &AppRunnerRef) -> Result<(), JsValue> { let mut runner_lock = runner_ref.0.lock(); runner_lock.input.raw.events.push(egui::Event::Text(text)); runner_lock.needs_repaint.set_true(); + event.stop_propagation(); + event.prevent_default(); } } }) as Box);