From 8b7f68232e570bda28cf215c0f9a05dda442d798 Mon Sep 17 00:00:00 2001 From: hodasemi Date: Thu, 10 Apr 2025 10:28:48 +0200 Subject: [PATCH] Fix gui_handler function arguments --- src/gui_handler/gui_handler.rs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/gui_handler/gui_handler.rs b/src/gui_handler/gui_handler.rs index d2b76a6..f6e6f2d 100644 --- a/src/gui_handler/gui_handler.rs +++ b/src/gui_handler/gui_handler.rs @@ -729,13 +729,14 @@ impl GuiHandler { } pub fn accept_custom_selection( - &self, + &mut self, commands: &mut Commands, - gui_handler: &mut GuiHandler, button: ControllerButton, ) -> Result { + let callback_self = unsafe { remove_life_time_mut(self) }; + if let Some(current_selectable) = &self.current_selectable { - if current_selectable.custom_click_event(commands, gui_handler, button)? { + if current_selectable.custom_click_event(commands, callback_self, button)? { return Ok(true); } } @@ -934,16 +935,13 @@ impl GuiHandler { self.callback_list.push(Box::new(f)); } - pub fn process_callbacks( - &mut self, - commands: &mut Commands, - gui_handler: &mut GuiHandler, - ) -> Result<()> { + pub fn process_callbacks(&mut self, commands: &mut Commands) -> Result<()> { + let callback_self = unsafe { remove_life_time_mut(self) }; let callbacks = mem::take(&mut self.callback_list); callbacks .into_iter() - .try_for_each(|callback| callback(commands, gui_handler)) + .try_for_each(|callback| callback(commands, callback_self)) } fn render(