fix: QR scanner crash - add previewLayer as sublayer in layout() instead of init

This commit is contained in:
yumoqing 2026-06-23 09:11:48 +08:00
parent ae96218d20
commit 32f722bd34

View File

@ -91,7 +91,7 @@ class QRScannerHostView: NSView {
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
wantsLayer = true wantsLayer = true
layer = previewLayer // init layer = previewLayer layout sublayer
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
@ -100,6 +100,9 @@ class QRScannerHostView: NSView {
override func layout() { override func layout() {
super.layout() super.layout()
if previewLayer.superlayer == nil {
layer?.addSublayer(previewLayer)
}
previewLayer.frame = bounds previewLayer.frame = bounds
} }
} }