-
Notifications
You must be signed in to change notification settings - Fork 63
Closed
Labels
A-frameworkAffects the framework crates and the translator for themAffects the framework crates and the translator for themdocumentationImprovements or additions to documentationImprovements or additions to documentation
Description
My work on fixing upstream issues in core-foundation-rs (or at least opening new issues in this repo to track them). Similar to #22. See also #692.
I'm a bit unsure how to handle this sort of stuff, I wanted to make sure that nothing in the core-foundation-rs repo is lost in the eventual migration, but I also didn't want to spam the repo with comments like "this is fixed in objc2-core-foundation".
Issues:
- CGEvent set_flags does not work randomly servo/core-foundation-rs#721
- Seems like an issue with Apple's
CGEventSetFlags.
- Seems like an issue with Apple's
- Soundness issue with Dictionary find/get servo/core-foundation-rs#720
- Fixed/prevented in 006b2e6 (getters retain by default, and the ones that don't are
unsafe).
- Fixed/prevented in 006b2e6 (getters retain by default, and the ones that don't are
- Expose data property for CGEvent servo/core-foundation-rs#711
CGEvent.datais Swift-only?
- Incorrect function parameters for
CFCalendarGetIdentifierservo/core-foundation-rs#685objc2_core_foundation::CFCalendarGetIdentifieris correct.
- Tags are missing for crate releases servo/core-foundation-rs#684
- Project-specific.
- Incorrect behavior of CGEventTap servo/core-foundation-rs#664
- Tracked in
CGEventTaphelpers? #720.
- Tracked in
- Usage of
CGSRegionReleaseincore-graphicsprevents publishing to the Mac AppStore servo/core-foundation-rs#656CGSRegionReleaseisn't present inobjc2-core-graphics.
- Does not compile if objc has verify_message feature turned on servo/core-foundation-rs#655
- Message verification is a central part of
objc2, andobjc2-core-foundationsupports this by implementingEncodefor all its types when the"objc2"feature is activated.
- Message verification is a central part of
- Remove
linkfeature? servo/core-foundation-rs#651linkfeature not present inobjc2crates (I'll have to see a really compelling use-case before I add such a thing).
- Safe CFRunLoop methods accept and dereference a raw pointer servo/core-foundation-rs#648
objc2_core_foundation::CFRunLoopAddSourcedoes not accept raw pointer.
- Panic on assert!(!result.is_null()) servo/core-foundation-rs#644
objc2_core_graphics::CGImageCreatereturns anOption, so it's up to the user themselves to handle errors.
- Usage of dispatch_queue_t ? servo/core-foundation-rs#635
- Tracked in Add Dispatch /
libdispatch#77.
- Tracked in Add Dispatch /
- Next breaking semver? servo/core-foundation-rs#633
- Project-specific.
- proposal: core-foundation-rs hosted IOKit bindings servo/core-foundation-rs#632
objc2-io-kitis available.
- macOS deployment targets servo/core-foundation-rs#627
objc2's approach to macOS versions is different, it don't have a feature-flag per OS version, instead everything is always available, and it's up to you to only use the parts that are available on your supported OS version.rustc's deployment target is what's tested in CI, and I regularly test on an old MacBook with macOS 10.12 installed.
- Drop foreign-types usage from core-graphics crate servo/core-foundation-rs#604
objc2crates don't useforeign-types.
- Question about how to list all running window app names [Code Review/Question] servo/core-foundation-rs#535
objc2-core-foundationprovidesCFArray::to_vecand array iterators which are safer and retains like you'd expect.
- Rust wrapper for NSAlert class servo/core-foundation-rs#531
objc2_app_kit::NSAlertis available.
- Restructure cocoa crate servo/core-foundation-rs#496
- Project-specific.
- How to call new_keyboard_event with NULL source? servo/core-foundation-rs#490
objc2_core_graphics::CGEventCreateKeyboardEventacceptsNoneevent source.
- Should IOSurface be a part of core-graphics-types? servo/core-foundation-rs#483
IOSurfaceshould be inobjc2-io-surface, that's the framework it belongs to.objc2provides a lot of feature flags to tune which crates to depend on, so the dependency problem should be a non-issue there.
- Should CGColorSpaceRef be a part of core-graphics-types? servo/core-foundation-rs#479
- There is no split of
objc2-core-graphics, feature flags are used instead to keep compile-times down.
- There is no split of
- CFRunLoop has no rustdoc servo/core-foundation-rs#467
objc2_core_foundation::CFRunLoop's docs are also kinda empty. Adding some examples would be a good idea. EDIT: Added in 81c4254.
- Change argument type from
&CGImageto&CGImageRefservo/core-foundation-rs#466objc2_core_foundation::CFRetainedmakes this distiction of ownership clear, and avoids unnecessary retains.
- Additional PRs to core-foundation-rs servo/core-foundation-rs#462
objc2_core_graphics::CGDisplayStreamis available.- CGS Display calls and
CGVirtualDisplayare not available, I would accept a PR adding behind a"private"feature flag.
- Transition CI to github actions servo/core-foundation-rs#461
- Project-specific.
- No obvious contribution guidelines servo/core-foundation-rs#453
- Project-specific.
- Should CFError(Ref) be made Sync? servo/core-foundation-rs#448
- Tracked in CoreFoundation thread safety #696.
- CGDataProvider and SIGSEGV servo/core-foundation-rs#431
objc2-core-foundationdoesn't provide an abstraction on top ofCGDataProvider.
- Encoding missing for CGPoint, CGSize, CGRect, etc, so can't be passed as arguments to msg_send servo/core-foundation-rs#404
objc2-core-foundationworks withobjc2and Objective-C message sending.
- It is unclear how to get a
CGImagefrom a*mut CGImageservo/core-foundation-rs#373objc2doesn't useforeign-types, so this is a non-issue here.
- TCFType should be an unsafe trait servo/core-foundation-rs#364
objc2_core_foundation::Typeis anunsafetrait.
- CFMutableDictionary's API is unsound servo/core-foundation-rs#362
objc2_core_foundation::CFMutableDictionarydoes not have the listed problems (it doesn't allow safe operations when the type parameters are unknown).
- Add NSThread bindings servo/core-foundation-rs#352
objc2_foundation::NSThreadis available.
- add bindings for CoreWLAN servo/core-foundation-rs#338
objc2-core-wlanis available.
- Add safe bindings for creating run loop observers servo/core-foundation-rs#331
- All
objc2_core_foundation::CFRunLoopObserverfunctions are safe exceptCFRunLoopObserverCreate[WithHandler], since the callbacks must be thread-safe, and that's hard to ensure. Also discussed in CoreFoundation thread safety #696.
- All
-
CGDisplayMode::all_display_modessegmentation fault servo/core-foundation-rs#319core_graphics::CGDisplayMode::all_display_modesends up taking ownership of more than it should.objc2_core_graphics::CGDisplayCopyAllDisplayModesdoes not have this issue.
- CFArray::from_copyable can corrupt memory servo/core-foundation-rs#291
objc2-core-foundationintentionally does not provideCFArray::from_copyable.
- wait_200_milliseconds sometimes fails. servo/core-foundation-rs#284
- Project-specific.
- Options should be implemented as bitflags, not enum servo/core-foundation-rs#280
objc2_app_kit::NSApplicationActivationOptionsusesbitflags!.
- Rewrite cocoa crate to mirror Swift APIs instead of ObjC APIs servo/core-foundation-rs#278
- Done by
objc2's header translator. See also Figure out naming scheme in framework crates #284.
- Done by
- Create a core-graphics-types crate to avoid having to update so many crates when core-graphics makes breaking changes servo/core-foundation-rs#236
objc2-core-graphicsis a single crate. Incompatible dependency versions are unfortunate, but IMO better mitigated with infrequent releases.
- Support for CAMetalLayer in NSView? servo/core-foundation-rs#222
CAMetalLayercan be set as the layer inobjc2_app_kit::NSView::setLayer.
- The size of
CGDisplayservo/core-foundation-rs#218- I agree that the naming should match Apple's name. But docs around this could be useful.
- How to get untyped CFDictionary? servo/core-foundation-rs#215
objc2_core_foundation::CFDictionarycan be converted fromCFDictionary<K, V>with.as_opaque().
- Missing CFMutableArray bindings and types servo/core-foundation-rs#211
objc2_core_foundation::CFMutableArrayis available.
- Higher-level interface to create delegates servo/core-foundation-rs#205
objc2::define_class!is available.
- Implement a builder API for font variations servo/core-foundation-rs#201
- I'm inclined to not bother unless it's really widely used (since it quickly becomes out of sync with Apple adding new string keys).
- Improve type safety in cocoa crate servo/core-foundation-rs#200
objc2's header translator creates newtypes.
- Make safe ways to create CGDataProvider servo/core-foundation-rs#185
- I guess a
CGDataProviderabstraction could be useful. Tracked in AddCGDataProviderinitializers #732.
- I guess a
- Missing types servo/core-foundation-rs#183
objc2_foundation::NSURLandobjc2_foundation::NSModalResponseare available.
- Empty string when calling NSEvent::characters on a event created by a Quote press servo/core-foundation-rs#181
- Seems like an issue with Apple's
-[NSEvent characters].
- Seems like an issue with Apple's
- Document usage paradigms servo/core-foundation-rs#180
- Inheritance and method overloading is supported in
objc2::define_class!. - Class methods and nullability are well supported in
objc2::extern_class!.
- Inheritance and method overloading is supported in
- Consider implementing
DropforNSAutoreleasePool? servo/core-foundation-rs#179objc2::rc::autoreleasepoolis available, that's the only (barely) sound API.
-
[NSEvent type]produces value21with no associatedNSEventTypevariant causing SEGFAULT. servo/core-foundation-rs#178objc2_app_kit::NSEventTypeis a struct overNSUIntegerinstead of an enum.
- Multiple definitions of
initWithFrame_servo/core-foundation-rs#177- Specific to
cocoa's handling of methods as traits, not an issue inobjc2crates.
- Specific to
- Assertion error with basic usage of NSStatusBar servo/core-foundation-rs#176
- Seems like an issue with Apple's
-[NSStatusBar systemStatusBar].
- Seems like an issue with Apple's
- Automatic binding generation? servo/core-foundation-rs#175
objc2has automatically generated bindings.
- Lots of type misalignment building under stable-i686-apple-darwin servo/core-foundation-rs#174
- 32-bit targets are regularly tested.
- Newtypes instead of monolithic id servo/core-foundation-rs#173
objc2's header translator creates newtypes.
- What is the scope of this crate? servo/core-foundation-rs#172
- The scope of each crate is what their linking and headers expose.
- Have font_path() return a PathBuf instead of a String servo/core-foundation-rs#167
- No longer an issue upstream.
- Update structs to remove 'zero type structs' for consumers. servo/core-foundation-rs#166
- No longer an issue upstream.
- Clean up the code servo/core-foundation-rs#165
- Project-specific nits.
- How to use nsview.layer? servo/core-foundation-rs#164
- Troubleshooting, not clear if there's an issue with the user's code or the library.
- [RFC] Add a bunch of safe ways to create a CGDataProvider servo/core-foundation-rs#163
- Rewrite all the bindings with the new CF bindings servo/core-foundation-rs#162
- Project-specific and outdated.
- Serialize implementation won't work with fonts created CGFontCreateWithDataProvider servo/core-foundation-rs#161
objc2-core-graphicsdoesn't try to serialize for you.
- Remove warnings for zero-sized structs. servo/core-foundation-rs#106
- No longer an issue upstream.
-
[NSEvent type]produces value21with no associatedNSEventTypevariant causing SEGFAULT. servo/core-foundation-rs#401 - Encode retaining and releasing in types servo/core-foundation-rs#83
- No longer an issue upstream.
- Audit for overflows servo/core-foundation-rs#22
- No longer an issue upstream (and
objc2-core-foundationhas comments on most casts).
- No longer an issue upstream (and
PRs:
- [breaking][core-graphics] Enforce Sendness of CGEventTap callback (soundness fix) servo/core-foundation-rs#725
- Tracked in
CGEventTaphelpers? #720.
- Tracked in
- [breaking][core-graphics] Allow dropping event from CGEventTap callback servo/core-foundation-rs#724
- Tracked in
CGEventTaphelpers? #720.
- Tracked in
- Bump core-graphics to v0.25.0 servo/core-foundation-rs#722
- Dependency bump.
- core-graphics: add catalina feature flag for srgb cgcolor binding servo/core-foundation-rs#719
- Differences in approach to API availability.
- feat: CGEventSourceGetLocation servo/core-foundation-rs#715
CGEventSourceGetLocationis private API not even available in.tbdfiles.
- Bump core-foundation to 0.10.1 servo/core-foundation-rs#706
- Version bump.
- Remove
core_graphics::private::CGSRegionservo/core-foundation-rs#700CGSRegionis not present inobjc2-core-graphics.
- Fix typo
Applicatin->Applicationservo/core-foundation-rs#696objc2_app_kit::NSDockTileis auto-generated, and does contain such typos.
- Cancel event when
CGEventTapcallback returns nullptr servo/core-foundation-rs#665- Tracked in
CGEventTaphelpers? #720.
- Tracked in
- NSColor: add AppKit-defined colors servo/core-foundation-rs#660
- These are available in
objc2_app_kit::NSColor.
- These are available in
- Remove duplicate definitions of CGWindow-related constants and types servo/core-foundation-rs#659
- These duplicates are not present in
objc2-core-graphics.
- These duplicates are not present in
- Make CFRunLoopMode a safe wrapper with a lifetime servo/core-foundation-rs#650
- Same as Safe CFRunLoop methods accept and dereference a raw pointer servo/core-foundation-rs#648,
objc2_core_foundation::CFRunLoopAddSourcedoes not accept raw pointer.
- Same as Safe CFRunLoop methods accept and dereference a raw pointer servo/core-foundation-rs#648,
- Impl Send+Sync for CFRunLoopTimer, CFRunLoopSource, CFRunLoopObserver servo/core-foundation-rs#649
- Tracked in CoreFoundation thread safety #696.
- Replace
objcwithobjc2servo/core-foundation-rs#628- This is for using
objc2.
- This is for using
- ci: Remove Travis configs. servo/core-foundation-rs#623
- Project-specific. I instead run tests manually before each release on macOS 10.12.
- Add missing CFRangeMake function servo/core-foundation-rs#618
objc2_core_foundation::CFRangeMakeis not available, should be added for documentation purposes. Done in 557cf98.
- core-foundation-sys: Enable
no_stdenvironment servo/core-foundation-rs#609no_stdis supported inobjc2-core-foundation, thoughobjc2doesn't support it.
- Add CALayer::from_raw servo/core-foundation-rs#536
- Possible with
objc2::rc::Retained::<objc2_quartz_core::CALayer>::from_raw.
- Possible with
- GitHub Workflows security hardening servo/core-foundation-rs#532
- Possibly interesting.
- Merge upstream changes from Warp's core-foundation-rs fork servo/core-foundation-rs#517
- The raw APIs are available in
objc2-core-text, PRs for wrappers welcome.
- The raw APIs are available in
- Use
objc2more idiomatically servo/core-foundation-rs#514- This is for using
objc2.
- This is for using
- gate the build with target_os = "macos" servo/core-foundation-rs#506
- Not gonna happen, we support GNUStep.
- CGEventTap: Allow dropping events from callback servo/core-foundation-rs#492
- Tracked in
CGEventTaphelpers? #720.
- Tracked in
- Add a "gl" feature for OpenGL related functionality. servo/core-foundation-rs#484
- OpenGL support is tracked in Core OpenGL bindings #722.
- [nomerge] Cg context type servo/core-foundation-rs#451
- Test PR.
- WIP: Variable pres servo/core-foundation-rs#445
- The raw APIs are available in
objc2-core-text, PRs for wrappers welcome.
- The raw APIs are available in
- Add an api to construct font data servo/core-foundation-rs#444
- The raw APIs are available in
objc2-core-text, PRs for wrappers welcome.
- The raw APIs are available in
- More variation tests servo/core-foundation-rs#441
- The API is available in
objc2_core_graphics::CGFontCopyVariations.
- The API is available in
- WIP: Add a test for variations on constructed font data servo/core-foundation-rs#440
- Extra tests for API we do not expose.
- Add a test for variation preservation. servo/core-foundation-rs#439
- Extra tests for API we do not expose.
- fix: new_from_descriptor lose font variations, such as font-weight servo/core-foundation-rs#430
- Discussion about
objc2-core-textAPIs that I don't really plan on exposing.
- Discussion about
- WIP descriptor cache tests servo/core-foundation-rs#428
- Extra tests for API we do not expose.
- Improve CFData and add CFMutableData type servo/core-foundation-rs#351
- Mostly done in 5efb6eb.
- Add CGImageDestination servo/core-foundation-rs#292
- This API is exposed in
objc2-image-io.
- This API is exposed in
- Update CGNumber servo/core-foundation-rs#82
- Done in 3e0e109.
Metadata
Metadata
Assignees
Labels
A-frameworkAffects the framework crates and the translator for themAffects the framework crates and the translator for themdocumentationImprovements or additions to documentationImprovements or additions to documentation