Page MenuHomePhabricator

Fix an issue where drag positions could get out of sync after scrolling
ClosedPublic

Authored by epriestley on Feb 1 2016, 8:51 PM.
Tags
None
Referenced Files
F14407652: D15157.diff
Tue, Dec 24, 3:24 AM
Unknown Object (File)
Fri, Dec 20, 11:58 PM
Unknown Object (File)
Fri, Dec 20, 9:37 AM
Unknown Object (File)
Fri, Dec 20, 9:13 AM
Unknown Object (File)
Fri, Dec 20, 3:57 AM
Unknown Object (File)
Thu, Dec 19, 11:23 PM
Unknown Object (File)
Sat, Dec 7, 12:40 AM
Unknown Object (File)
Nov 20 2024, 5:45 PM
Subscribers
None

Details

Summary

Ref T5240. Currently, we calculate drag positions assuming the "ghost" element is not present (it isn't, usually), then adjust them while dragging to account for the ghost.

However, this fails after scrolling: we dirty the cache, but the ghost is present. We continue adjusting for it, but essentially double-adjust. This leads to scroll positions being about 80-ish px off from where they should be.

Test Plan
  • Begin dragging a task in a long task list.
  • While dragging, use mousewheel to scroll to the bottom of the list.
  • Drag task downward through the list.
    • Before fix: ghost is off by, like, an inch or so.
    • After fix: ghost position is accurate to cursor position.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Fix an issue where drag positions could get out of sync after scrolling.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Feb 1 2016, 9:01 PM
This revision was automatically updated to reflect the committed changes.