X-Git-Url: https://git.webkit.org/?p=WebKit-https.git;a=blobdiff_plain;f=Source%2FWebKit2%2FShared%2FAPI%2Fc%2Fcg%2FWKImageCG.cpp;h=87663115b4360e2f8bdc41c200daf02d0578b82a;hp=7af747e219118c7f6e50be4b4eb96fccd562b1be;hb=accad33df28b4b320043f1e60a789eb591d79c1a;hpb=a292f4c5bf56da2a25b96459ee1498ac926c019a diff --git a/Source/WebKit2/Shared/API/c/cg/WKImageCG.cpp b/Source/WebKit2/Shared/API/c/cg/WKImageCG.cpp index 7af747e21911..87663115b436 100644 --- a/Source/WebKit2/Shared/API/c/cg/WKImageCG.cpp +++ b/Source/WebKit2/Shared/API/c/cg/WKImageCG.cpp @@ -36,13 +36,26 @@ using namespace WebCore; CGImageRef WKImageCreateCGImage(WKImageRef imageRef) { - return toImpl(imageRef)->bitmap()->makeCGImageCopy().leakRef(); + if (!imageRef) + return 0; + + WebImage* webImage = toImpl(imageRef); + if (!webImage || !webImage->bitmap()) + return 0; + + return webImage->bitmap()->makeCGImageCopy().leakRef(); } WKImageRef WKImageCreateFromCGImage(CGImageRef imageRef, WKImageOptions options) { + if (!imageRef) + return 0; + IntSize imageSize(CGImageGetWidth(imageRef), CGImageGetHeight(imageRef)); RefPtr webImage = WebImage::create(imageSize, toImageOptions(options)); + if (!webImage || !webImage->bitmap()) + return 0; + OwnPtr graphicsContext = webImage->bitmap()->createGraphicsContext(); CGContextDrawImage(graphicsContext->platformContext(), CGRectMake(0, 0, imageSize.width(), imageSize.height()), imageRef); return toAPI(webImage.release().leakRef());