-
Notifications
You must be signed in to change notification settings - Fork 59
Update UIKitDisplayList and AppKitDisplayList #787
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🤖 Augment PR SummarySummary: Updates the platform display-list implementations for AppKit and UIKit to align with SwiftUI 6.5.4 behavior, especially around hit-testing and drawing. Changes:
Technical Notes: Several paths now branch on 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
|
||
| override func _nextResponder(for event: NSEvent?) -> NSResponder? { | ||
| nextResponder | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NSView.hitTest(_:) receives point in the receiver’s local coordinates, so checking frame.contains(point) (superview coordinates) can mis-evaluate hit-testing when the view’s frame origin isn’t (0,0).
Severity: high
Other Locations
Sources/OpenSwiftUI/Render/DisplayList/AppKitDisplayList.swift:232
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| } | ||
| guard hitTestsAsOpaque, frame.contains(point) else { | ||
| return nil | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In _NSInheritedView.hitTest, converting point “from: superview” and then passing that into each subview.hitTest looks inconsistent with AppKit’s coordinate expectations and can cause subviews to never be hittable.
Severity: high
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
|
|
||
| @objc | ||
| private class _NSPlatformLayerView: _NSGraphicsView { | ||
| override init(frame frameRect: NSRect) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #787 +/- ##
==========================================
- Coverage 26.38% 26.30% -0.08%
==========================================
Files 651 653 +2
Lines 40801 40924 +123
==========================================
Hits 10767 10767
- Misses 30034 30157 +123 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
No description provided.