diff --git a/ext/fox16/markfuncs.cpp b/ext/fox16/markfuncs.cpp index 182e3ed5c6a5db29f86c6a422ef9cf3e159c26cd..bea3a48784b38086fd867abc76282fcb22a9790e 100755 --- a/ext/fox16/markfuncs.cpp +++ b/ext/fox16/markfuncs.cpp @@ -198,7 +198,7 @@ void FXRbWindow::markfunc(FXWindow* self){ // Mark child windows register FXWindow* child=self->getFirst(); - while((child!=NULL) && (!(NIL_P(FXRbGetRubyObj(child,true))))){ + while(child!=NULL){ FXRbGcMark(child); child=child->getNext(); } @@ -296,25 +296,6 @@ void FXRbCursor::freefunc(FXCursor* self){ delete_if_not_owned_by_app(self,reinterpret_cast<FXRbCursor*>(0)); } -/** - * Overrides base class version of getFocusWindow() to address - * RubyForge Bug #24898. - */ -static FXWindow* -getFocusWindow(FXApp *self) -{ - FXWindow *result=self->getActiveWindow(); - VALUE value=FXRbGetRubyObj(result,true); - if(!NIL_P(value)){ - if(result){ - while(result->getFocus()){ - result=result->getFocus(); - } - } - return result; - } - return NULL; - } void FXRbApp::markfunc(FXApp *self){ FXRbObject::markfunc(self); @@ -354,7 +335,7 @@ void FXRbApp::markfunc(FXApp *self){ FXRbGcMark(self->getDefaultCursor(DEF_ROTATE_CURSOR)); // Other windows - FXRbGcMark(::getFocusWindow(self)); + FXRbGcMark(self->getFocusWindow()); FXRbGcMark(self->getCursorWindow()); /**