CopyRgn( updatergn , ownUpdateRgn ) ;
// subtract all children from updatergn, as soon as we start with transparent windows, these should
// not be subtracted
- RgnHandle eraseRgn = NewRgn() ;
- CopyRgn( ownUpdateRgn , eraseRgn ) ;
RgnHandle childarea = NewRgn() ;
for (wxNode *node = GetChildren().First(); node; node = node->Next())
if ( child->MacGetRootWindow() == window && child->IsShown() )
{
SetRectRgn( childarea , child->m_x , child->m_y , child->m_x + child->m_width , child->m_y + child->m_height ) ;
- DiffRgn( eraseRgn , childarea , eraseRgn ) ;
+ DiffRgn( ownUpdateRgn , childarea , ownUpdateRgn ) ;
}
}
DisposeRgn( childarea ) ;
OffsetRgn( newupdate , -origin.x , -origin.y ) ;
m_updateRegion = newupdate ;
DisposeRgn( newupdate ) ; // it's been cloned to m_updateRegion
- if ( erase && !EmptyRgn(eraseRgn) )
+ if ( erase && !EmptyRgn(ownUpdateRgn) )
{
wxWindowDC dc(this);
- dc.SetClippingRegion(wxRegion(eraseRgn));
+ dc.SetClippingRegion(wxRegion(ownUpdateRgn));
wxEraseEvent eevent( GetId(), &dc );
eevent.SetEventObject( this );
GetEventHandler()->ProcessEvent( eevent );
GetEventHandler()->ProcessEvent( eventNc );
}
DisposeRgn( ownUpdateRgn ) ;
- DisposeRgn( eraseRgn ) ;
if ( !m_updateRegion.Empty() )
{
wxPaintEvent event;
CopyRgn( updatergn , ownUpdateRgn ) ;
// subtract all children from updatergn, as soon as we start with transparent windows, these should
// not be subtracted
- RgnHandle eraseRgn = NewRgn() ;
- CopyRgn( ownUpdateRgn , eraseRgn ) ;
RgnHandle childarea = NewRgn() ;
for (wxNode *node = GetChildren().First(); node; node = node->Next())
if ( child->MacGetRootWindow() == window && child->IsShown() )
{
SetRectRgn( childarea , child->m_x , child->m_y , child->m_x + child->m_width , child->m_y + child->m_height ) ;
- DiffRgn( eraseRgn , childarea , eraseRgn ) ;
+ DiffRgn( ownUpdateRgn , childarea , ownUpdateRgn ) ;
}
}
DisposeRgn( childarea ) ;
OffsetRgn( newupdate , -origin.x , -origin.y ) ;
m_updateRegion = newupdate ;
DisposeRgn( newupdate ) ; // it's been cloned to m_updateRegion
- if ( erase && !EmptyRgn(eraseRgn) )
+ if ( erase && !EmptyRgn(ownUpdateRgn) )
{
wxWindowDC dc(this);
- dc.SetClippingRegion(wxRegion(eraseRgn));
+ dc.SetClippingRegion(wxRegion(ownUpdateRgn));
wxEraseEvent eevent( GetId(), &dc );
eevent.SetEventObject( this );
GetEventHandler()->ProcessEvent( eevent );
GetEventHandler()->ProcessEvent( eventNc );
}
DisposeRgn( ownUpdateRgn ) ;
- DisposeRgn( eraseRgn ) ;
if ( !m_updateRegion.Empty() )
{
wxPaintEvent event;