avoiding potential infinite recursion

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2009-09-13 17:34:51 +00:00
parent 62018605a1
commit 8996460cb9

View File

@@ -368,8 +368,14 @@ wxWidgetIPhoneImpl::~wxWidgetIPhoneImpl()
bool wxWidgetIPhoneImpl::IsVisible() const
{
// TODO reflect Superviews state
return [m_osxView isHidden] == NO;
UIView* view = m_osxView;
while ( view != nil && [view isHidden] == NO )
{
view = [view superview];
if (view != nil && [view isHidden])
NSLog(@"visible test failed for %@",view);
}
return view == nil;
}
void wxWidgetIPhoneImpl::SetVisibility( bool visible )
@@ -706,9 +712,12 @@ void wxWidgetIPhoneImpl::drawRect(CGRect* rect, WXWidget slf, void *WXUNUSED(_cm
// call super
SEL _cmd = @selector(drawRect:);
wxOSX_DrawRectHandlerPtr superimpl = (wxOSX_DrawRectHandlerPtr) [[slf superclass] instanceMethodForSelector:_cmd];
superimpl(slf, _cmd, *rect);
CGContextRestoreGState( context );
CGContextSaveGState( context );
if ( superimpl != wxOSX_drawRect )
{
superimpl(slf, _cmd, *rect);
CGContextRestoreGState( context );
CGContextSaveGState( context );
}
}
wxpeer->MacPaintChildrenBorders();
wxpeer->MacSetCGContextRef( NULL );