From 6e167675d6a51a8a78d93439719ebffe35dcfdef Mon Sep 17 00:00:00 2001 From: Richard Date: Wed, 27 Apr 2022 15:40:29 -0300 Subject: Use closure internally to fetch `graphics_info` --- winit/src/application.rs | 12 +++++------- winit/src/system.rs | 8 ++++---- 2 files changed, 9 insertions(+), 11 deletions(-) (limited to 'winit') diff --git a/winit/src/application.rs b/winit/src/application.rs index 59f0624c..9d881475 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -176,7 +176,7 @@ where &mut clipboard, &mut proxy, &window, - &compositor.fetch_information(), + || compositor.fetch_information(), ); runtime.track(subscription); @@ -264,8 +264,6 @@ async fn run_instance( physical_size.height, ); - let graphics_info = compositor.fetch_information(); - let mut user_interface = ManuallyDrop::new(build_user_interface( &mut application, user_interface::Cache::default(), @@ -321,7 +319,7 @@ async fn run_instance( &mut debug, &mut messages, &window, - &graphics_info, + || compositor.fetch_information(), ); // Update window @@ -521,7 +519,7 @@ pub fn update( debug: &mut Debug, messages: &mut Vec, window: &winit::window::Window, - graphics_info: &compositor::Information, + graphics_info: impl FnOnce() -> compositor::Information + Copy, ) { for message in messages.drain(..) { debug.log_message(&message); @@ -544,7 +542,7 @@ pub fn run_command( clipboard: &mut Clipboard, proxy: &mut winit::event_loop::EventLoopProxy, window: &winit::window::Window, - graphics_info: &compositor::Information, + graphics_info: impl FnOnce() -> compositor::Information + Copy, ) { use iced_native::command; use iced_native::system; @@ -584,7 +582,7 @@ pub fn run_command( command::Action::System(action) => match action { system::Action::QueryInformation(tag) => { let information = - crate::system::get_information(graphics_info); + crate::system::get_information(graphics_info()); let message = tag(information); diff --git a/winit/src/system.rs b/winit/src/system.rs index f5f68593..beda2bdd 100644 --- a/winit/src/system.rs +++ b/winit/src/system.rs @@ -17,7 +17,7 @@ pub fn fetch_information( #[cfg(feature = "sysinfo")] pub(crate) fn get_information( - graphics_info: &compositor::Information, + graphics_info: compositor::Information, ) -> Option { use sysinfo::{ProcessExt, ProcessorExt, System, SystemExt}; let mut system = System::new_all(); @@ -38,8 +38,8 @@ pub(crate) fn get_information( cpu_cores: system.physical_core_count(), memory_total: system.total_memory(), memory_used, - graphics_adapter: graphics_info.adapter.clone(), - graphics_backend: graphics_info.backend.clone(), + graphics_adapter: graphics_info.adapter, + graphics_backend: graphics_info.backend, }; Some(information) @@ -47,7 +47,7 @@ pub(crate) fn get_information( #[cfg(not(feature = "sysinfo"))] pub(crate) fn get_information( - _graphics_info: &compositor::Information, + _graphics_info: compositor::Information, ) -> Option { None } -- cgit