From a69994a54528fc869edced33fdc8bfecfb4cdaa7 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Fri, 30 May 2008 16:42:09 +0000 Subject: [PATCH] make sure invisible windows cannot paint using a wxClientDC or wxWindowDC by making their clip rect empty git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@53844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/mac/carbon/dcclient.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mac/carbon/dcclient.cpp b/src/mac/carbon/dcclient.cpp index 2c470de33a..9812554da9 100644 --- a/src/mac/carbon/dcclient.cpp +++ b/src/mac/carbon/dcclient.cpp @@ -128,6 +128,9 @@ wxWindowDC::wxWindowDC(wxWindow *window) #if wxMAC_USE_CORE_GRAPHICS m_window->GetSize( &m_width , &m_height); + if ( !m_window->IsShownOnScreen() ) + m_width = m_height = 0; + CGContextRef cg = (CGContextRef) window->MacGetCGContextRef(); m_release = false; if ( cg == NULL ) @@ -246,6 +249,8 @@ wxClientDC::wxClientDC(wxWindow *window) : wxCHECK_RET( window, _T("invalid window in wxClientDC") ); wxPoint origin = window->GetClientAreaOrigin() ; m_window->GetClientSize( &m_width , &m_height); + if ( !m_window->IsShownOnScreen() ) + m_width = m_height = 0; SetDeviceOrigin( origin.x, origin.y ); SetClippingRegion( 0 , 0 , m_width , m_height ) ; }