Fix position calculation (#3854)

Conrad Irwin created

Fixes a bug where the context menu appears in the wrong place

Change summary

crates/gpui2/src/elements/overlay.rs | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Detailed changes

crates/gpui2/src/elements/overlay.rs 🔗

@@ -149,7 +149,9 @@ impl Element for Overlay {
             desired.origin.y = limits.origin.y;
         }
 
-        cx.with_element_offset(desired.origin - bounds.origin, |cx| {
+        let mut offset = cx.element_offset() + desired.origin - bounds.origin;
+        offset = point(offset.x.round(), offset.y.round());
+        cx.with_absolute_element_offset(offset, |cx| {
             cx.break_content_mask(|cx| {
                 for child in &mut self.children {
                     child.paint(cx);