@@ -679,7 +679,7 @@ pub fn winit_runner(mut app: App) {
679
679
runner_state. is_active = true ;
680
680
}
681
681
event:: Event :: MainEventsCleared => {
682
- if runner_state. is_active {
682
+ if finished_and_setup_done && runner_state. is_active {
683
683
let ( config, windows) = focused_windows_state. get ( & app. world ) ;
684
684
let focused = windows. iter ( ) . any ( |window| window. focused ) ;
685
685
let should_update = match config. update_mode ( focused) {
@@ -738,47 +738,48 @@ pub fn winit_runner(mut app: App) {
738
738
* control_flow = ControlFlow :: Exit ;
739
739
}
740
740
}
741
-
742
- // create any new windows
743
- #[ cfg( not( target_arch = "wasm32" ) ) ]
744
- let (
745
- commands,
746
- mut windows,
747
- event_writer,
748
- winit_windows,
749
- adapters,
750
- handlers,
751
- accessibility_requested,
752
- ) = create_window_system_state. get_mut ( & mut app. world ) ;
753
-
754
- #[ cfg( target_arch = "wasm32" ) ]
755
- let (
756
- commands,
757
- mut windows,
758
- event_writer,
759
- winit_windows,
760
- adapters,
761
- handlers,
762
- accessibility_requested,
763
- event_channel,
764
- ) = create_window_system_state. get_mut ( & mut app. world ) ;
765
-
766
- create_windows (
767
- event_loop,
768
- commands,
769
- windows. iter_mut ( ) ,
770
- event_writer,
771
- winit_windows,
772
- adapters,
773
- handlers,
774
- accessibility_requested,
775
- #[ cfg( target_arch = "wasm32" ) ]
776
- event_channel,
777
- ) ;
778
-
779
- create_window_system_state. apply ( & mut app. world ) ;
780
741
}
781
742
}
743
+
744
+ // create any new windows
745
+ // (even if app did not update, some may have been created by plugin setup)
746
+ #[ cfg( not( target_arch = "wasm32" ) ) ]
747
+ let (
748
+ commands,
749
+ mut windows,
750
+ event_writer,
751
+ winit_windows,
752
+ adapters,
753
+ handlers,
754
+ accessibility_requested,
755
+ ) = create_window_system_state. get_mut ( & mut app. world ) ;
756
+
757
+ #[ cfg( target_arch = "wasm32" ) ]
758
+ let (
759
+ commands,
760
+ mut windows,
761
+ event_writer,
762
+ winit_windows,
763
+ adapters,
764
+ handlers,
765
+ accessibility_requested,
766
+ event_channel,
767
+ ) = create_window_system_state. get_mut ( & mut app. world ) ;
768
+
769
+ create_windows (
770
+ event_loop,
771
+ commands,
772
+ windows. iter_mut ( ) ,
773
+ event_writer,
774
+ winit_windows,
775
+ adapters,
776
+ handlers,
777
+ accessibility_requested,
778
+ #[ cfg( target_arch = "wasm32" ) ]
779
+ event_channel,
780
+ ) ;
781
+
782
+ create_window_system_state. apply ( & mut app. world ) ;
782
783
}
783
784
_ => ( ) ,
784
785
}
0 commit comments