From b513a4fef94d42cbd3c5d9e424deca446106e9fb Mon Sep 17 00:00:00 2001 From: Varphone Wong Date: Mon, 6 Jan 2025 10:14:49 +0800 Subject: [PATCH] `egui_extra`: Fix "Apply size hint to `ImageCrateLoader::load`" --- crates/egui_extras/src/image.rs | 3 ++- crates/egui_extras/src/loaders/image_loader.rs | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/crates/egui_extras/src/image.rs b/crates/egui_extras/src/image.rs index d28ce3611..0d8a38b43 100644 --- a/crates/egui_extras/src/image.rs +++ b/crates/egui_extras/src/image.rs @@ -244,7 +244,8 @@ pub fn load_image_bytes_for_size( image_bytes: &[u8], hint: SizeHint, ) -> Result { - crate::profile_function!(); + profiling::function_scope!(); + let image = image::load_from_memory(image_bytes).map_err(|err| err.to_string())?; let src_size = [image.width() as _, image.height() as _]; let dst_size = calculate_size_for_hint(src_size, hint); diff --git a/crates/egui_extras/src/loaders/image_loader.rs b/crates/egui_extras/src/loaders/image_loader.rs index 583cc8d93..5eae878c7 100644 --- a/crates/egui_extras/src/loaders/image_loader.rs +++ b/crates/egui_extras/src/loaders/image_loader.rs @@ -89,8 +89,9 @@ impl ImageLoader for ImageCrateLoader { // (3) log::trace!("started loading {uri:?}"); - let result = - crate::image::load_image_bytes_for_size(&bytes, hint).map(Arc::new); + let result = crate::image::load_image_bytes_for_size(&bytes, hint) + .map_err(|e| LoadError::Loading(e)) + .map(Arc::new); log::trace!("finished loading {uri:?}"); cache.insert(uri.into(), result.clone()); result.map(|image| ImagePoll::Ready { image })