X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6239ee05567eac71754f56c2a154222d10b57ff1..dbe4a80c57a77b249ef32117efe9fd923066f958:/src/mac/carbon/overlay.cpp diff --git a/src/mac/carbon/overlay.cpp b/src/mac/carbon/overlay.cpp index 933aa8bf01..c33c96e8e7 100644 --- a/src/mac/carbon/overlay.cpp +++ b/src/mac/carbon/overlay.cpp @@ -134,14 +134,23 @@ void wxOverlayImpl::Init( wxWindowDC* dc, int x , int y , int width , int height void wxOverlayImpl::BeginDrawing( wxWindowDC* dc) { - dc->SetGraphicsContext( wxGraphicsContext::CreateFromNative( m_overlayContext ) ); - wxSize size = dc->GetSize() ; - dc->SetClippingRegion( 0 , 0 , size.x , size.y ) ; + wxDCImpl *impl = dc->GetImpl(); + wxWindowDCImpl *win_impl = wxDynamicCast(impl,wxWindowDCImpl); + if (win_impl) + { + win_impl->SetGraphicsContext( wxGraphicsContext::CreateFromNative( m_overlayContext ) ); + wxSize size = dc->GetSize() ; + dc->SetClippingRegion( 0 , 0 , size.x , size.y ) ; + } } void wxOverlayImpl::EndDrawing( wxWindowDC* dc) { - dc->SetGraphicsContext(NULL); + wxDCImpl *impl = dc->GetImpl(); + wxWindowDCImpl *win_impl = wxDynamicCast(impl,wxWindowDCImpl); + if (win_impl) + win_impl->SetGraphicsContext(NULL); + CGContextFlush( m_overlayContext ); }