Skip to content

Commit

Permalink
Merge pull request #2584 from iced-rs/fix/scrollable-transactions
Browse files Browse the repository at this point in the history
Fix `scrollable` transactions when `on_scroll` is not set
  • Loading branch information
hecrj authored Sep 18, 2024
2 parents 1cf284a + 11ac912 commit fc722f1
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions widget/src/scrollable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -760,13 +760,17 @@ where
content_bounds,
);

if notify_scroll(
let has_scrolled = notify_scroll(
state,
&self.on_scroll,
bounds,
content_bounds,
shell,
) {
);

let in_transaction = state.last_scrolled.is_some();

if has_scrolled || in_transaction {
event::Status::Captured
} else {
event::Status::Ignored
Expand Down Expand Up @@ -1194,11 +1198,6 @@ fn notify_viewport<Message>(
return false;
}

let Some(on_scroll) = on_scroll else {
state.last_notified = None;
return false;
};

let viewport = Viewport {
offset_x: state.offset_x,
offset_y: state.offset_y,
Expand Down Expand Up @@ -1229,9 +1228,12 @@ fn notify_viewport<Message>(
}
}

shell.publish(on_scroll(viewport));
state.last_notified = Some(viewport);

if let Some(on_scroll) = on_scroll {
shell.publish(on_scroll(viewport));
}

true
}

Expand Down

0 comments on commit fc722f1

Please sign in to comment.