diff options
| author | 2024-06-07 01:59:17 +0200 | |
|---|---|---|
| committer | 2024-06-10 22:03:46 +0200 | |
| commit | 83296a73ebbb3c02ed63dfb4661056a8a8962267 (patch) | |
| tree | b8a06ca99d4cede92136f6a8bdb9d6d9cd247459 /winit | |
| parent | ae2bf8ee40d1eb8f8176eae4541550fa2365f7a4 (diff) | |
| download | iced-83296a73ebbb3c02ed63dfb4661056a8a8962267.tar.gz iced-83296a73ebbb3c02ed63dfb4661056a8a8962267.tar.bz2 iced-83296a73ebbb3c02ed63dfb4661056a8a8962267.zip  | |
Fix widget operations in `multi_window` runtime
Diffstat (limited to '')
| -rw-r--r-- | winit/src/multi_window.rs | 25 | 
1 files changed, 10 insertions, 15 deletions
diff --git a/winit/src/multi_window.rs b/winit/src/multi_window.rs index b4c30a20..13839828 100644 --- a/winit/src/multi_window.rs +++ b/winit/src/multi_window.rs @@ -1272,25 +1272,20 @@ fn run_command<A, C, E>(                      std::mem::take(ui_caches),                  ); -                'operate: while let Some(mut operation) = -                    current_operation.take() -                { +                while let Some(mut operation) = current_operation.take() {                      for (id, ui) in uis.iter_mut() {                          if let Some(window) = window_manager.get_mut(*id) {                              ui.operate(&window.renderer, operation.as_mut()); +                        } +                    } -                            match operation.finish() { -                                operation::Outcome::None => {} -                                operation::Outcome::Some(message) => { -                                    proxy.send(message); - -                                    // operation completed, don't need to try to operate on rest of UIs -                                    break 'operate; -                                } -                                operation::Outcome::Chain(next) => { -                                    current_operation = Some(next); -                                } -                            } +                    match operation.finish() { +                        operation::Outcome::None => {} +                        operation::Outcome::Some(message) => { +                            proxy.send(message); +                        } +                        operation::Outcome::Chain(next) => { +                            current_operation = Some(next);                          }                      }                  }  | 
