@@ -697,7 +697,7 @@ pub fn winit_runner(mut app: App) {
697697 }
698698 } ;
699699
700- if should_update {
700+ if finished_and_setup_done && should_update {
701701 // reset these on each update
702702 runner_state. wait_elapsed = false ;
703703 runner_state. device_event_received = false ;
@@ -738,46 +738,47 @@ pub fn winit_runner(mut app: App) {
738738 * control_flow = ControlFlow :: Exit ;
739739 }
740740 }
741+ }
741742
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-
743+ // create any new windows
744+ // (even if app did not update, some may have been created by plugin setup)
745+ #[ cfg( not( target_arch = "wasm32" ) ) ]
746+ let (
747+ commands,
748+ mut windows,
749+ event_writer,
750+ winit_windows,
751+ adapters,
752+ handlers,
753+ accessibility_requested,
754+ ) = create_window_system_state. get_mut ( & mut app. world ) ;
755+
756+ #[ cfg( target_arch = "wasm32" ) ]
757+ let (
758+ commands,
759+ mut windows,
760+ event_writer,
761+ winit_windows,
762+ adapters,
763+ handlers,
764+ accessibility_requested,
765+ event_channel,
766+ ) = create_window_system_state. get_mut ( & mut app. world ) ;
767+
768+ create_windows (
769+ event_loop,
770+ commands,
771+ windows. iter_mut ( ) ,
772+ event_writer,
773+ winit_windows,
774+ adapters,
775+ handlers,
776+ accessibility_requested,
754777 #[ 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+ event_channel,
779+ ) ;
778780
779- create_window_system_state. apply ( & mut app. world ) ;
780- }
781+ create_window_system_state. apply ( & mut app. world ) ;
781782 }
782783 }
783784 _ => ( ) ,
0 commit comments