diff --git a/CHANGELOG.md b/CHANGELOG.md index 90f581689e..d134037fe0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Unreleased +- macOS: Fix memory leak in `Surface`. + # Version 0.30.0-beta.1 (2022-09-03) - Replace `winit` dependency with `raw-window-handle`. diff --git a/glutin/src/api/cgl/config.rs b/glutin/src/api/cgl/config.rs index 385986e686..357fd3fc28 100644 --- a/glutin/src/api/cgl/config.rs +++ b/glutin/src/api/cgl/config.rs @@ -93,7 +93,7 @@ impl Display { let inner = Arc::new(ConfigInner { display: self.clone(), raw: NSOpenGLPixelFormatId(raw), - transrarency: template.transparency, + transparency: template.transparency, }); let config = Config { inner }; @@ -193,7 +193,7 @@ impl Sealed for Config {} pub(crate) struct ConfigInner { display: Display, - pub(crate) transrarency: bool, + pub(crate) transparency: bool, pub(crate) raw: NSOpenGLPixelFormatId, } diff --git a/glutin/src/api/cgl/context.rs b/glutin/src/api/cgl/context.rs index d19106096f..adf455e8df 100644 --- a/glutin/src/api/cgl/context.rs +++ b/glutin/src/api/cgl/context.rs @@ -50,7 +50,7 @@ impl Display { let raw = NSOpenGLContext::alloc(nil) .initWithFormat_shareContext_(*config.inner.raw, share_context as *mut _); - if config.inner.transrarency { + if config.inner.transparency { let opacity = 0; super::check_error(CGLSetParameter( raw.CGLContextObj().cast(), diff --git a/glutin/src/api/cgl/surface.rs b/glutin/src/api/cgl/surface.rs index 8fd012718d..2fabb7085e 100644 --- a/glutin/src/api/cgl/surface.rs +++ b/glutin/src/api/cgl/surface.rs @@ -71,7 +71,7 @@ impl Drop for Surface { fn drop(&mut self) { unsafe { if self.ns_view != nil { - let _: () = msg_send![self.ns_view, retain]; + let _: () = msg_send![self.ns_view, release]; } } }