diff options
author | 2023-04-13 06:44:51 +0200 | |
---|---|---|
committer | 2023-04-13 06:44:51 +0200 | |
commit | 6b359b496cf435c26f982ee0e52d7324c79ad1d5 (patch) | |
tree | 205bafc7d5563cc90bde2e8336497965db409d61 /native/src | |
parent | 29971c9d71fe81b12eae56eeaf87c6b6890c83f9 (diff) | |
download | iced-6b359b496cf435c26f982ee0e52d7324c79ad1d5.tar.gz iced-6b359b496cf435c26f982ee0e52d7324c79ad1d5.tar.bz2 iced-6b359b496cf435c26f982ee0e52d7324c79ad1d5.zip |
Avoid cloning messages unnecessarily in `MouseListener`
Diffstat (limited to 'native/src')
-rw-r--r-- | native/src/widget/mouse_listener.rs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/native/src/widget/mouse_listener.rs b/native/src/widget/mouse_listener.rs index a7a06bcc..00e20c04 100644 --- a/native/src/widget/mouse_listener.rs +++ b/native/src/widget/mouse_listener.rs @@ -286,64 +286,64 @@ fn update<Message: Clone, Renderer>( } } - if let Some(message) = widget.on_press.clone() { + if let Some(message) = widget.on_press.as_ref() { if let Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) | Event::Touch(touch::Event::FingerPressed { .. }) = event { - shell.publish(message); + shell.publish(message.clone()); return event::Status::Captured; } } - if let Some(message) = widget.on_release.clone() { + if let Some(message) = widget.on_release.as_ref() { if let Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) | Event::Touch(touch::Event::FingerLifted { .. }) = event { - shell.publish(message); + shell.publish(message.clone()); return event::Status::Captured; } } - if let Some(message) = widget.on_right_press.clone() { + if let Some(message) = widget.on_right_press.as_ref() { if let Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Right)) = event { - shell.publish(message); + shell.publish(message.clone()); return event::Status::Captured; } } - if let Some(message) = widget.on_right_release.clone() { + if let Some(message) = widget.on_right_release.as_ref() { if let Event::Mouse(mouse::Event::ButtonReleased( mouse::Button::Right, )) = event { - shell.publish(message); + shell.publish(message.clone()); return event::Status::Captured; } } - if let Some(message) = widget.on_middle_press.clone() { + if let Some(message) = widget.on_middle_press.as_ref() { if let Event::Mouse(mouse::Event::ButtonPressed( mouse::Button::Middle, )) = event { - shell.publish(message); + shell.publish(message.clone()); return event::Status::Captured; } } - if let Some(message) = widget.on_middle_release.clone() { + if let Some(message) = widget.on_middle_release.as_ref() { if let Event::Mouse(mouse::Event::ButtonReleased( mouse::Button::Middle, )) = event { - shell.publish(message); + shell.publish(message.clone()); return event::Status::Captured; } |