@@ -1041,11 +1041,23 @@ impl GlutinWindowContext {
10411041
10421042 let mut viewport_from_window = HashMap :: default ( ) ;
10431043 let mut window_from_viewport = OrderedViewportIdMap :: default ( ) ;
1044- let mut info = ViewportInfo :: default ( ) ;
1044+ let mut viewport_info = ViewportInfo :: default ( ) ;
10451045 if let Some ( window) = & window {
10461046 viewport_from_window. insert ( window. id ( ) , ViewportId :: ROOT ) ;
10471047 window_from_viewport. insert ( ViewportId :: ROOT , window. id ( ) ) ;
1048- egui_winit:: update_viewport_info ( & mut info, egui_ctx, window, true ) ;
1048+ egui_winit:: update_viewport_info ( & mut viewport_info, egui_ctx, window, true ) ;
1049+
1050+ // Tell egui right away about native_pixels_per_point etc,
1051+ // so that the app knows about it during app creation:
1052+ let pixels_per_point = egui_winit:: pixels_per_point ( egui_ctx, window) ;
1053+
1054+ egui_ctx. input_mut ( |i| {
1055+ i. raw
1056+ . viewports
1057+ . insert ( ViewportId :: ROOT , viewport_info. clone ( ) ) ;
1058+
1059+ i. pixels_per_point = pixels_per_point;
1060+ } ) ;
10491061 }
10501062
10511063 let mut viewports = OrderedViewportIdMap :: default ( ) ;
@@ -1056,7 +1068,7 @@ impl GlutinWindowContext {
10561068 class : ViewportClass :: Root ,
10571069 builder : viewport_builder,
10581070 deferred_commands : vec ! [ ] ,
1059- info,
1071+ info : viewport_info ,
10601072 actions_requested : Default :: default ( ) ,
10611073 viewport_ui_cb : None ,
10621074 gl_surface : None ,
0 commit comments