Protect crashes against invalid Procreate documents
This commit is contained in:
parent
8113d13835
commit
b87fe7e585
1 changed files with 11 additions and 3 deletions
|
@ -512,7 +512,12 @@ class Document: NSDocument {
|
||||||
ccgContext?.fill(info.cgRect)
|
ccgContext?.fill(info.cgRect)
|
||||||
|
|
||||||
let context = CIContext()
|
let context = CIContext()
|
||||||
var masterImage = CIImage(cgImage: (ccgContext?.makeImage())!)
|
|
||||||
|
guard let cgImage = ccgContext?.makeImage() else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var masterImage = CIImage(cgImage: cgImage)
|
||||||
|
|
||||||
var previousImage: CGImage? = nil
|
var previousImage: CGImage? = nil
|
||||||
|
|
||||||
|
@ -571,8 +576,11 @@ class Document: NSDocument {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let cgImage = context.createCGImage(masterImage, from: info.cgRect, format: .RGBA8, colorSpace: info.colorSpace)!
|
guard let finalCgImage = context.createCGImage(masterImage, from: info.cgRect, format: .RGBA8, colorSpace: info.colorSpace) else {
|
||||||
var image = NSImage(cgImage: cgImage, size: info.nsSize)
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var image = NSImage(cgImage: finalCgImage, size: info.nsSize)
|
||||||
|
|
||||||
if info.orientation == 3 {
|
if info.orientation == 3 {
|
||||||
image = image.imageRotatedByDegreess(degrees: 90)
|
image = image.imageRotatedByDegreess(degrees: 90)
|
||||||
|
|
Reference in a new issue