mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2025-01-11 21:31:29 +11:00
Renamed NSString to NSStringRust to support Debug View Heirarchy in Xcode (#1631)
* Renamed NSString to NSStringRust to support Debug View Heirarchy * Updated from comments * Update CHANGELOG.md
This commit is contained in:
parent
514ab043f2
commit
412bd94ea4
|
@ -1,5 +1,6 @@
|
||||||
# Unreleased
|
# Unreleased
|
||||||
|
|
||||||
|
- On iOS, fixed support for the "Debug View Heirarchy" feature in Xcode.
|
||||||
- On all platforms, `available_monitors` and `primary_monitor` are now on `EventLoopWindowTarget` rather than `EventLoop` to list monitors event in the event loop.
|
- On all platforms, `available_monitors` and `primary_monitor` are now on `EventLoopWindowTarget` rather than `EventLoop` to list monitors event in the event loop.
|
||||||
- On Unix, X11 and Wayland are now optional features (enabled by default)
|
- On Unix, X11 and Wayland are now optional features (enabled by default)
|
||||||
- On X11, fix deadlock when calling `set_fullscreen_inner`.
|
- On X11, fix deadlock when calling `set_fullscreen_inner`.
|
||||||
|
|
|
@ -24,7 +24,8 @@ use crate::platform_impl::platform::{
|
||||||
CFRunLoopActivity, CFRunLoopAddObserver, CFRunLoopAddSource, CFRunLoopGetMain,
|
CFRunLoopActivity, CFRunLoopAddObserver, CFRunLoopAddSource, CFRunLoopGetMain,
|
||||||
CFRunLoopObserverCreate, CFRunLoopObserverRef, CFRunLoopSourceContext,
|
CFRunLoopObserverCreate, CFRunLoopObserverRef, CFRunLoopSourceContext,
|
||||||
CFRunLoopSourceCreate, CFRunLoopSourceInvalidate, CFRunLoopSourceRef,
|
CFRunLoopSourceCreate, CFRunLoopSourceInvalidate, CFRunLoopSourceRef,
|
||||||
CFRunLoopSourceSignal, CFRunLoopWakeUp, NSString, UIApplicationMain, UIUserInterfaceIdiom,
|
CFRunLoopSourceSignal, CFRunLoopWakeUp, NSStringRust, UIApplicationMain,
|
||||||
|
UIUserInterfaceIdiom,
|
||||||
},
|
},
|
||||||
monitor, view, MonitorHandle,
|
monitor, view, MonitorHandle,
|
||||||
};
|
};
|
||||||
|
@ -117,7 +118,7 @@ impl<T: 'static> EventLoop<T> {
|
||||||
0,
|
0,
|
||||||
ptr::null(),
|
ptr::null(),
|
||||||
nil,
|
nil,
|
||||||
NSString::alloc(nil).init_str("AppDelegate"),
|
NSStringRust::alloc(nil).init_str("AppDelegate"),
|
||||||
);
|
);
|
||||||
unreachable!()
|
unreachable!()
|
||||||
}
|
}
|
||||||
|
|
|
@ -359,7 +359,10 @@ pub struct CFRunLoopSourceContext {
|
||||||
pub perform: Option<extern "C" fn(*mut c_void)>,
|
pub perform: Option<extern "C" fn(*mut c_void)>,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait NSString: Sized {
|
// This is named NSStringRust rather than NSString because the "Debug View Heirarchy" feature of
|
||||||
|
// Xcode requires a non-ambiguous reference to NSString for unclear reasons. This makes Xcode happy
|
||||||
|
// so please test if you change the name back to NSString.
|
||||||
|
pub trait NSStringRust: Sized {
|
||||||
unsafe fn alloc(_: Self) -> id {
|
unsafe fn alloc(_: Self) -> id {
|
||||||
msg_send![class!(NSString), alloc]
|
msg_send![class!(NSString), alloc]
|
||||||
}
|
}
|
||||||
|
@ -370,7 +373,7 @@ pub trait NSString: Sized {
|
||||||
unsafe fn UTF8String(self) -> *const c_char;
|
unsafe fn UTF8String(self) -> *const c_char;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl NSString for id {
|
impl NSStringRust for id {
|
||||||
unsafe fn initWithUTF8String_(self, c_string: *const c_char) -> id {
|
unsafe fn initWithUTF8String_(self, c_string: *const c_char) -> id {
|
||||||
msg_send![self, initWithUTF8String: c_string as id]
|
msg_send![self, initWithUTF8String: c_string as id]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue