Fix Segfault while GC'ing FXWindows
FXWindow destructor calls recalc() and changeFocus() of it's parent windows. Since these methods are routed back to Ruby code, but calling Ruby code from GC isn't a good idea, we mark the parent window as "in_gc", so that it will ignore recalc() and changeFocus() calls completely. The parent window should also be scheduled to be free'd. In the other case, the child window would have been marked as used.
Showing
- ext/fox16/FXRuby.cpp 26 additions, 0 deletionsext/fox16/FXRuby.cpp
- ext/fox16/include/FXRbWindow.h 2 additions, 2 deletionsext/fox16/include/FXRbWindow.h
- ext/fox16/include/FXRuby.h 4 additions, 0 deletionsext/fox16/include/FXRuby.h
- ext/fox16/markfuncs.cpp 16 additions, 0 deletionsext/fox16/markfuncs.cpp
Loading
Please register or sign in to comment