Skip to content

Commit 568e5bd

Browse files
committed
Add reference count to layer to prevent use after free
1 parent 038955d commit 568e5bd

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/platform/macos/system/surface.rs

+2
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ impl Device {
196196
transaction::set_disable_actions(true);
197197

198198
let superlayer = CALayer::new();
199+
let _: () = msg_send![superlayer.id(), retain];
199200
native_widget.view.0.setLayer(superlayer.id());
200201
native_widget.view.0.setWantsLayer(YES);
201202

@@ -209,6 +210,7 @@ impl Device {
209210

210211
let opaque = native_widget.opaque;
211212
let layer = CALayer::new();
213+
let _: () = msg_send![layer.id(), retain];
212214
let layer_size = CGSize::new(logical_size.width as f64, logical_size.height as f64);
213215
layer.set_frame(&CGRect::new(&CG_ZERO_POINT, &layer_size));
214216
layer.set_contents(front_surface.obj as id);

0 commit comments

Comments
 (0)