X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5276b0a53cef4815230e39b54d2ecda14f72cbd1..ec2df34e27ba41f202ecbf096cdfed082a9ddb8f:/src/osx/carbon/dcscreen.cpp?ds=inline diff --git a/src/osx/carbon/dcscreen.cpp b/src/osx/carbon/dcscreen.cpp index 6ce0de678a..c413eb1fe0 100644 --- a/src/osx/carbon/dcscreen.cpp +++ b/src/osx/carbon/dcscreen.cpp @@ -89,12 +89,23 @@ wxBitmap wxScreenDCImpl::DoGetAsBitmap(const wxRect *subrect) const if ( subrect ) srcRect = CGRectOffset( srcRect, -subrect->x, -subrect->y ) ; - CGImageRef image = grabViaOpenGL(kCGNullDirectDisplay, srcRect); + CGImageRef image = NULL; + +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 + if ( UMAGetSystemVersion() >= 10.6) + { + image = CGDisplayCreateImage(kCGDirectMainDisplay); + } + else +#endif + { + image = grabViaOpenGL(kCGNullDirectDisplay, srcRect); + } wxASSERT_MSG(image, wxT("wxScreenDC::GetAsBitmap - unable to get screenshot.")); CGContextDrawImage(context, srcRect, image); - + CGImageRelease(image); CGContextRestoreGState(context);