Keep rename preview scroll reports outside source boundaries
This commit is contained in:
@@ -1278,6 +1278,11 @@ impl App {
|
|||||||
{
|
{
|
||||||
return Task::none();
|
return Task::none();
|
||||||
}
|
}
|
||||||
|
// A validated preview measurement only retains display state. Do not
|
||||||
|
// turn each wheel report into source interaction or scan shared boundaries.
|
||||||
|
if let Message::SourceRename(event @ source_rename::Event::PreviewScrolled(..)) = message {
|
||||||
|
return self.source_rename_event(event);
|
||||||
|
}
|
||||||
let usage_viewport = self.diagram_reveal_viewport(&message);
|
let usage_viewport = self.diagram_reveal_viewport(&message);
|
||||||
let window_resized = matches!(&message, Message::WindowResized(_));
|
let window_resized = matches!(&message, Message::WindowResized(_));
|
||||||
// Reject stale measurements before legacy viewport handlers can change
|
// Reject stale measurements before legacy viewport handlers can change
|
||||||
|
|||||||
@@ -444,10 +444,17 @@ async fn details_remount_restores_wheel_offset_before_any_rescroll() {
|
|||||||
offset > 10.,
|
offset > 10.,
|
||||||
"real wheel input must move the overflowing fixture"
|
"real wheel input must move the overflowing fixture"
|
||||||
);
|
);
|
||||||
|
let interaction = app.source_symbols.interaction;
|
||||||
|
let camera = app.camera_boundary();
|
||||||
|
let allocation = app.allocation_boundary();
|
||||||
for message in reports.iter().cloned() {
|
for message in reports.iter().cloned() {
|
||||||
let task = app.update(message);
|
let task = app.update(message);
|
||||||
assert_eq!(mounted.execute(&app, task).await, 0);
|
assert_eq!(mounted.execute(&app, task).await, 0);
|
||||||
}
|
}
|
||||||
|
assert_eq!(app.source_symbols.interaction, interaction);
|
||||||
|
assert!(app.camera_boundary() == camera);
|
||||||
|
assert!(app.allocation_boundary() == allocation);
|
||||||
|
assert_eq!(evidence(&app), before);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.source_rename.form.as_ref().unwrap().preview_offset,
|
app.source_rename.form.as_ref().unwrap().preview_offset,
|
||||||
offset
|
offset
|
||||||
|
|||||||
Reference in New Issue
Block a user