Skip to content

Commit e664994

Browse files
committed
Fix widget operations in multi_window runtime
1 parent e9d02af commit e664994

1 file changed

Lines changed: 10 additions & 15 deletions

File tree

winit/src/multi_window.rs

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1272,25 +1272,20 @@ fn run_command<A, C, E>(
12721272
std::mem::take(ui_caches),
12731273
);
12741274

1275-
'operate: while let Some(mut operation) =
1276-
current_operation.take()
1277-
{
1275+
while let Some(mut operation) = current_operation.take() {
12781276
for (id, ui) in uis.iter_mut() {
12791277
if let Some(window) = window_manager.get_mut(*id) {
12801278
ui.operate(&window.renderer, operation.as_mut());
1279+
}
1280+
}
12811281

1282-
match operation.finish() {
1283-
operation::Outcome::None => {}
1284-
operation::Outcome::Some(message) => {
1285-
proxy.send(message);
1286-
1287-
// operation completed, don't need to try to operate on rest of UIs
1288-
break 'operate;
1289-
}
1290-
operation::Outcome::Chain(next) => {
1291-
current_operation = Some(next);
1292-
}
1293-
}
1282+
match operation.finish() {
1283+
operation::Outcome::None => {}
1284+
operation::Outcome::Some(message) => {
1285+
proxy.send(message);
1286+
}
1287+
operation::Outcome::Chain(next) => {
1288+
current_operation = Some(next);
12941289
}
12951290
}
12961291
}

0 commit comments

Comments
 (0)