summaryrefslogtreecommitdiffstats
path: root/native/src
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-04-13 06:44:51 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-04-13 06:44:51 +0200
commit6b359b496cf435c26f982ee0e52d7324c79ad1d5 (patch)
tree205bafc7d5563cc90bde2e8336497965db409d61 /native/src
parent29971c9d71fe81b12eae56eeaf87c6b6890c83f9 (diff)
downloadiced-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.rs24
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;
}