From d1c8bfdeffda9847e93ad1292b6219dc58cdc615 Mon Sep 17 00:00:00 2001 From: mvlabat Date: Sat, 10 Apr 2021 16:05:15 +0300 Subject: [PATCH] Fix clipboard pasting into several windows issue --- src/systems.rs | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/systems.rs b/src/systems.rs index b7fe12b18..e60d85bf3 100644 --- a/src/systems.rs +++ b/src/systems.rs @@ -203,6 +203,12 @@ pub fn process_input( } } + for egui_input in egui_input.values_mut() { + egui_input.raw_input.predicted_dt = time.delta_seconds(); + } + + let focused_input = egui_input.get_mut(&*focused_window).unwrap(); + #[cfg(feature = "manage_clipboard")] { let mut copy = false; @@ -219,24 +225,21 @@ pub fn process_input( paste = Some(contents); } } - for egui_input in egui_input.values_mut() { - if copy { - egui_input.raw_input.events.push(egui::Event::Copy); - } - if cut { - egui_input.raw_input.events.push(egui::Event::Cut); - } - if let Some(content) = paste.clone() { - egui_input.raw_input.events.push(egui::Event::Text(content)) - } + + if copy { + focused_input.raw_input.events.push(egui::Event::Copy); + } + if cut { + focused_input.raw_input.events.push(egui::Event::Cut); + } + if let Some(content) = paste.clone() { + focused_input + .raw_input + .events + .push(egui::Event::Text(content)) } }; - for egui_input in egui_input.values_mut() { - egui_input.raw_input.predicted_dt = time.delta_seconds(); - } - - let focused_input = egui_input.get_mut(&*focused_window).unwrap(); focused_input.raw_input.modifiers = modifiers; }