X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/03647350fc7cd141953c72e0284e928847d30f44..6178debcd342963974dbdce6ac2ddb2fbe89e42a:/src/osx/carbon/dcscreen.cpp?ds=sidebyside diff --git a/src/osx/carbon/dcscreen.cpp b/src/osx/carbon/dcscreen.cpp index 6bb57f78b3..6ce0de678a 100644 --- a/src/osx/carbon/dcscreen.cpp +++ b/src/osx/carbon/dcscreen.cpp @@ -56,14 +56,18 @@ wxScreenDCImpl::wxScreenDCImpl( wxDC *owner ) : wxScreenDCImpl::~wxScreenDCImpl() { - delete m_graphicContext; - m_graphicContext = NULL; + wxDELETE(m_graphicContext); #if wxOSX_USE_COCOA_OR_IPHONE #else DisposeWindow((WindowRef) m_overlayWindow ); #endif } +#if wxOSX_USE_IPHONE +// Apple has allowed usage of this API as of 15th Dec 2009w +extern CGImageRef UIGetScreenImage(); +#endif + // TODO Switch to CGWindowListCreateImage for 10.5 and above wxBitmap wxScreenDCImpl::DoGetAsBitmap(const wxRect *subrect) const @@ -90,8 +94,12 @@ wxBitmap wxScreenDCImpl::DoGetAsBitmap(const wxRect *subrect) const wxASSERT_MSG(image, wxT("wxScreenDC::GetAsBitmap - unable to get screenshot.")); CGContextDrawImage(context, srcRect, image); + + CGImageRelease(image); CGContextRestoreGState(context); +#else + // TODO implement using UIGetScreenImage, CGImageCreateWithImageInRect, CGContextDrawImage #endif return bmp; }