Skip to content
Snippets Groups Projects
Commit ac5d21d2 authored by Lars Kanis's avatar Lars Kanis
Browse files

Fix 'object allocation not allowed while garbage collection' bug

Calling any Ruby code within the mark phase is generelly dangerous,
because it usually allocates some objects.
Since most of the methods of FX objects can be overloaded in Ruby,
the calls in markfuncs now call explizitly the C++ methods.

Also remove some double marking of objects.
parent bea4cade
Branches
Tags
No related merge requests found
......@@ -81,8 +81,8 @@ void FXRbIconSource::markfunc(FXIconSource* iconSource){
void FXRbTranslator::markfunc(FXTranslator* translator){
FXRbObject::markfunc(translator);
if(translator){
FXRbGcMark(translator->getApp());
FXRbGcMark(translator->getTextCodec());
FXRbGcMark(translator->FXTranslator::getApp());
FXRbGcMark(translator->FXTranslator::getTextCodec());
}
}
......@@ -124,8 +124,8 @@ void FXRbKnob::markfunc(FXKnob* self){
void FXRbLabel::markfunc(FXLabel* self){
FXRbFrame::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->getIcon());
FXRbGcMark(self->FXLabel::getFont());
FXRbGcMark(self->FXLabel::getIcon());
}
}
......@@ -145,21 +145,22 @@ void FXRbDockHandler::markfunc(FXDockHandler *dockhandler){
void FXRbDockTitle::markfunc(FXDockTitle *self){
FXRbDockHandler::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXDockTitle::getFont());
}
}
void FXRbDrawable::markfunc(FXDrawable* drawable){
FXRbId::markfunc(drawable);
if(drawable) FXRbGcMark(drawable->getVisual());
if(drawable) FXRbGcMark(drawable->FXDrawable::getVisual());
}
void FXRbId::markfunc(FXId* self){
FXRbObject::markfunc(self);
if(self){
FXRbGcMark(self->getApp());
if(self->getUserData()) MARK(self->getUserData());
FXRbGcMark(self->FXId::getApp());
if(void *d=self->FXId::getUserData())
MARK(d);
}
}
......@@ -185,23 +186,23 @@ void FXRbChoiceBox::markfunc(FXChoiceBox* box){
void FXRbWindow::markfunc(FXWindow* self){
FXRbDrawable::markfunc(self);
if(self){
FXRbGcMark(self->getParent());
FXRbGcMark(self->getOwner());
FXRbGcMark(self->getShell());
FXRbGcMark(self->getRoot());
// FXRbGcMark(self->getNext());
// FXRbGcMark(self->getPrev());
FXRbGcMark(self->getFocus());
FXRbGcMark(self->getTarget());
FXRbGcMark(self->getAccelTable());
FXRbGcMark(self->getDefaultCursor());
FXRbGcMark(self->getDragCursor());
FXRbGcMark(self->FXWindow::getParent());
FXRbGcMark(self->FXWindow::getOwner());
FXRbGcMark(self->FXWindow::getShell());
FXRbGcMark(self->FXWindow::getRoot());
// FXRbGcMark(self->FXWindow::getNext());
// FXRbGcMark(self->FXWindow::getPrev());
FXRbGcMark(self->FXWindow::getFocus());
FXRbGcMark(self->FXWindow::getTarget());
FXRbGcMark(self->FXWindow::getAccelTable());
FXRbGcMark(self->FXWindow::getDefaultCursor());
FXRbGcMark(self->FXWindow::getDragCursor());
// Mark child windows
register FXWindow* child=self->getFirst();
register FXWindow* child=self->FXWindow::getFirst();
while(child!=NULL){
FXRbGcMark(child);
child=child->getNext();
child=child->FXWindow::getNext();
}
}
}
......@@ -215,8 +216,8 @@ void FXRbDialogBox::markfunc(FXDialogBox* dlg){
void FXRbTopWindow::markfunc(FXTopWindow* top){
FXRbShell::markfunc(top);
if(top){
FXRbGcMark(top->getIcon());
FXRbGcMark(top->getMiniIcon());
FXRbGcMark(top->FXTopWindow::getIcon());
FXRbGcMark(top->FXTopWindow::getMiniIcon());
}
}
......@@ -266,7 +267,7 @@ void FXRbVerticalFrame::markfunc(FXVerticalFrame* self){
void FXRbGroupBox::markfunc(FXGroupBox* self){
FXRbPacker::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXGroupBox::getFont());
}
}
......@@ -279,10 +280,10 @@ void FXRbColorWell::markfunc(FXColorWell* cw){
void FXRbComboBox::markfunc(FXComboBox* self){
FXRbPacker::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXComboBox::getFont());
for(FXint i=0; i<self->getNumItems(); i++){
if(self->getItemData(i))
MARK(self->getItemData(i));
if(void *d=self->FXComboBox::getItemData(i))
MARK(d);
}
}
}
......@@ -302,42 +303,42 @@ void FXRbApp::markfunc(FXApp *self){
FXRbObject::markfunc(self);
if(self){
// Visuals
FXRbGcMark(self->getMonoVisual());
FXRbGcMark(self->getDefaultVisual());
FXRbGcMark(self->FXApp::getMonoVisual());
FXRbGcMark(self->FXApp::getDefaultVisual());
// Fonts
FXRbGcMark(self->getNormalFont());
FXRbGcMark(self->FXApp::getNormalFont());
// Cursors
FXRbGcMark(self->getWaitCursor());
FXRbGcMark(self->getDefaultCursor(DEF_ARROW_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_RARROW_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_TEXT_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_HSPLIT_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_VSPLIT_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_XSPLIT_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_SWATCH_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_MOVE_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_DRAGH_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_DRAGV_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_DRAGTL_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_DRAGBR_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_DRAGTR_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_DRAGBL_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_DNDSTOP_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_DNDCOPY_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_DNDMOVE_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_DNDLINK_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_CROSSHAIR_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_CORNERNE_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_CORNERNW_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_CORNERSE_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_CORNERSW_CURSOR));
FXRbGcMark(self->getDefaultCursor(DEF_ROTATE_CURSOR));
FXRbGcMark(self->FXApp::getWaitCursor());
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_ARROW_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_RARROW_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_TEXT_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_HSPLIT_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_VSPLIT_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_XSPLIT_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_SWATCH_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_MOVE_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_DRAGH_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_DRAGV_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_DRAGTL_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_DRAGBR_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_DRAGTR_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_DRAGBL_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_DNDSTOP_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_DNDCOPY_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_DNDMOVE_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_DNDLINK_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_CROSSHAIR_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_CORNERNE_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_CORNERNW_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_CORNERSE_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_CORNERSW_CURSOR));
FXRbGcMark(self->FXApp::getDefaultCursor(DEF_ROTATE_CURSOR));
// Other windows
FXRbGcMark(self->getFocusWindow());
FXRbGcMark(self->getCursorWindow());
FXRbGcMark(self->FXApp::getFocusWindow());
FXRbGcMark(self->FXApp::getCursorWindow());
/**
* Root window is a special case; popups (like FXTooltip) can be created
......@@ -346,13 +347,13 @@ void FXRbApp::markfunc(FXApp *self){
* So unless we invoke FXRbRootWindow's mark function here, unowned windows
* like tooltips may get garbage-collected prematurely.
*/
if(self->getRootWindow()){
FXRbGcMark(self->getRootWindow());
FXRbRootWindow::markfunc(self->getRootWindow());
if(self->FXApp::getRootWindow()){
FXRbGcMark(self->FXApp::getRootWindow());
FXRbRootWindow::markfunc(self->FXApp::getRootWindow());
}
// Registry
FXRbGcMark(&(self->reg()));
FXRbGcMark(&(self->FXApp::reg()));
// Timers, chores and signals are recycled and should never be destroyed
}
......@@ -377,19 +378,19 @@ void FXRbMainWindow::markfunc(FXMainWindow* obj){
void FXRbTreeItem::markfunc(FXTreeItem* self){
FXRbObject::markfunc(self);
if(self){
FXRbGcMark(self->getParent());
FXRbGcMark(self->getNext());
FXRbGcMark(self->getPrev());
for(FXTreeItem* item=self->getFirst(); item; item=item->getNext()){
FXRbGcMark(self->FXTreeItem::getParent());
FXRbGcMark(self->FXTreeItem::getNext());
FXRbGcMark(self->FXTreeItem::getPrev());
for(FXTreeItem* item=self->FXTreeItem::getFirst(); item; item=item->FXTreeItem::getNext()){
FXRbGcMark(item);
FXRbTreeItem::markfunc(item);
}
FXRbGcMark(self->getBelow());
FXRbGcMark(self->getAbove());
FXRbGcMark(self->getOpenIcon());
FXRbGcMark(self->getClosedIcon());
if(self->getData())
MARK(self->getData());
FXRbGcMark(self->FXTreeItem::getBelow());
FXRbGcMark(self->FXTreeItem::getAbove());
FXRbGcMark(self->FXTreeItem::getOpenIcon());
FXRbGcMark(self->FXTreeItem::getClosedIcon());
if(void *d=self->FXTreeItem::getData())
MARK(d);
}
}
......@@ -421,11 +422,11 @@ void FXRbTreeItem::freefunc(FXTreeItem* self){
void FXRbTreeList::markfunc(FXTreeList* self){
FXRbScrollArea::markfunc(self);
if(self){
for(FXTreeItem* item=self->getFirstItem(); item; item=item->getNext()){
for(FXTreeItem* item=self->FXTreeList::getFirstItem(); item; item=item->FXTreeItem::getNext()){
FXRbGcMark(item);
FXRbTreeItem::markfunc(item);
}
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXTreeList::getFont());
}
}
......@@ -433,19 +434,19 @@ void FXRbTreeList::markfunc(FXTreeList* self){
void FXRbFoldingItem::markfunc(FXFoldingItem* self){
FXRbObject::markfunc(self);
if(self){
FXRbGcMark(self->getParent());
FXRbGcMark(self->getNext());
FXRbGcMark(self->getPrev());
for(FXFoldingItem* item=self->getFirst(); item; item=item->getNext()){
FXRbGcMark(self->FXFoldingItem::getParent());
FXRbGcMark(self->FXFoldingItem::getNext());
FXRbGcMark(self->FXFoldingItem::getPrev());
for(FXFoldingItem* item=self->FXFoldingItem::getFirst(); item; item=item->FXFoldingItem::getNext()){
FXRbGcMark(item);
FXRbFoldingItem::markfunc(item);
}
FXRbGcMark(self->getBelow());
FXRbGcMark(self->getAbove());
FXRbGcMark(self->getOpenIcon());
FXRbGcMark(self->getClosedIcon());
if(self->getData())
MARK(self->getData());
FXRbGcMark(self->FXFoldingItem::getBelow());
FXRbGcMark(self->FXFoldingItem::getAbove());
FXRbGcMark(self->FXFoldingItem::getOpenIcon());
FXRbGcMark(self->FXFoldingItem::getClosedIcon());
if(void *d=self->FXFoldingItem::getData())
MARK(d);
}
}
......@@ -458,11 +459,11 @@ void FXRbFoldingItem::freefunc(FXFoldingItem* self){
void FXRbFoldingList::markfunc(FXFoldingList* self){
FXRbScrollArea::markfunc(self);
if(self){
for(FXFoldingItem* item=self->getFirstItem(); item; item=item->getNext()){
for(FXFoldingItem* item=self->FXFoldingList::getFirstItem(); item; item=item->FXFoldingItem::getNext()){
FXRbGcMark(item);
FXRbFoldingItem::markfunc(item);
}
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXFoldingList::getFont());
}
}
......@@ -470,9 +471,9 @@ void FXRbFoldingList::markfunc(FXFoldingList* self){
void FXRbListItem::markfunc(FXListItem* self){
FXRbObject::markfunc(self);
if(self){
FXRbGcMark(self->getIcon());
if(self->getData())
MARK(self->getData());
FXRbGcMark(self->FXListItem::getIcon());
if(void *d=self->FXListItem::getData())
MARK(d);
}
}
......@@ -495,14 +496,12 @@ void FXRbColorItem::freefunc(FXColorItem* self){
void FXRbList::markfunc(FXList* self){
FXRbScrollArea::markfunc(self);
if(self){
for(FXint i=0;i<self->getNumItems();i++){
FXListItem* item=self->getItem(i);
for(FXint i=0;i<self->FXList::getNumItems();i++){
FXListItem* item=self->FXList::getItem(i);
FXRbGcMark(item);
FXRbListItem::markfunc(item);
if(self->getItemData(i))
MARK(self->getItemData(i));
}
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXList::getFont());
}
}
......@@ -515,9 +514,9 @@ void FXRbColorList::markfunc(FXColorList* self){
void FXRbTableItem::markfunc(FXTableItem* self){
FXRbObject::markfunc(self);
if(self){
FXRbGcMark(self->getIcon());
if(self->getData())
MARK(self->getData());
FXRbGcMark(self->FXTableItem::getIcon());
if(void* d=self->FXTableItem::getData())
MARK(d);
}
}
......@@ -531,16 +530,13 @@ void FXRbTable::markfunc(FXTable* self){
register FXTableItem* item;
FXRbScrollArea::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->getRowHeaderFont());
FXRbGcMark(self->getColumnHeaderFont());
for(FXint row=0;row<self->getNumRows();row++){
for(FXint col=0;col<self->getNumColumns();col++){
item=self->getItem(row,col);
FXRbGcMark(self->FXTable::getFont());
FXRbGcMark(self->FXTable::getRowHeaderFont());
FXRbGcMark(self->FXTable::getColumnHeaderFont());
for(FXint row=0;row<self->FXTable::getNumRows();row++){
for(FXint col=0;col<self->FXTable::getNumColumns();col++){
item=self->FXTable::getItem(row,col);
FXRbGcMark(item);
FXRbGcMark(self->getItemIcon(row,col));
if(self->getItemData(row,col))
MARK(self->getItemData(row,col));
}
}
}
......@@ -550,9 +546,9 @@ void FXRbTable::markfunc(FXTable* self){
void FXRbHeaderItem::markfunc(FXHeaderItem* self){
FXRbObject::markfunc(self);
if(self){
FXRbGcMark(self->getIcon());
if(self->getData())
MARK(self->getData());
FXRbGcMark(self->FXHeaderItem::getIcon());
if(void* d=self->FXHeaderItem::getData())
MARK(d);
}
}
......@@ -565,14 +561,12 @@ void FXRbHeaderItem::freefunc(FXHeaderItem* self){
void FXRbHeader::markfunc(FXHeader* self){
FXRbFrame::markfunc(self);
if(self){
for(FXint i=0;i<self->getNumItems();i++){
FXHeaderItem* item=self->getItem(i);
for(FXint i=0;i<self->FXHeader::getNumItems();i++){
FXHeaderItem* item=self->FXHeader::getItem(i);
FXRbGcMark(item);
FXRbHeaderItem::markfunc(item);
if(item->getData())
MARK(item->getData());
}
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXHeader::getFont());
}
}
......@@ -580,10 +574,10 @@ void FXRbHeader::markfunc(FXHeader* self){
void FXRbIconItem::markfunc(FXIconItem* self){
FXRbObject::markfunc(self);
if(self){
FXRbGcMark(self->getBigIcon());
FXRbGcMark(self->getMiniIcon());
if(self->getData())
MARK(self->getData());
FXRbGcMark(self->FXIconItem::getBigIcon());
FXRbGcMark(self->FXIconItem::getMiniIcon());
if(void *d=self->FXIconItem::getData())
MARK(d);
}
}
......@@ -596,15 +590,13 @@ void FXRbIconItem::freefunc(FXIconItem* self){
void FXRbIconList::markfunc(FXIconList* self){
FXRbScrollArea::markfunc(self);
if(self){
FXRbGcMark(self->getHeader());
for(FXint i=0;i<self->getNumItems();i++){
FXIconItem* item=self->getItem(i);
FXRbGcMark(self->FXIconList::getHeader());
for(FXint i=0;i<self->FXIconList::getNumItems();i++){
FXIconItem* item=self->FXIconList::getItem(i);
FXRbGcMark(item);
FXRbIconItem::markfunc(item);
if(self->getItemData(i))
MARK(self->getItemData(i));
}
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXIconList::getFont());
}
}
......@@ -612,7 +604,7 @@ void FXRbIconList::markfunc(FXIconList* self){
void FXRbDelegator::markfunc(FXDelegator* self){
FXRbObject::markfunc(self);
if(self){
FXRbGcMark(self->getDelegate());
FXRbGcMark(self->FXDelegator::getDelegate());
}
}
......@@ -645,7 +637,7 @@ void FXRbStringDict::markfunc(FXStringDict* self){
void FXRbRecentFiles::markfunc(FXRecentFiles* self){
FXRbObject::markfunc(self);
if(self){
FXRbGcMark(self->getTarget());
FXRbGcMark(self->FXRecentFiles::getTarget());
}
}
......@@ -653,8 +645,8 @@ void FXRbRecentFiles::markfunc(FXRecentFiles* self){
void FXRbScrollArea::markfunc(FXScrollArea* self){
FXRbComposite::markfunc(self);
if(self){
FXRbGcMark(self->horizontalScrollBar());
FXRbGcMark(self->verticalScrollBar());
FXRbGcMark(self->FXScrollArea::horizontalScrollBar());
FXRbGcMark(self->FXScrollArea::verticalScrollBar());
}
}
......@@ -667,7 +659,7 @@ void FXRbDocument::markfunc(FXDocument* self){
void FXRbGLContext::markfunc(FXGLContext* self){
FXRbObject::markfunc(self);
if(self){
FXRbGcMark(self->getVisual());
FXRbGcMark(self->FXGLContext::getVisual());
}
}
......@@ -690,15 +682,15 @@ void FXRbFont::freefunc(FXFont *self){
void FXRbIconDict::markfunc(FXIconDict* self){
FXRbDict::markfunc(self);
if(self){
FXRbGcMark(self->getIconSource());
if(self->no()>0){
FXint pos=self->first();
FXint last=self->last();
FXRbGcMark(self->FXIconDict::getIconSource());
if(self->FXIconDict::no()>0){
FXint pos=self->FXIconDict::first();
FXint last=self->FXIconDict::last();
while(pos<=last){
const FXchar* name=self->key(pos);
FXIcon* icon=self->find(name);
const FXchar* name=self->FXIconDict::key(pos);
FXIcon* icon=self->FXIconDict::find(name);
FXRbGcMark(icon);
pos=self->next(pos);
pos=self->FXIconDict::next(pos);
}
}
}
......@@ -707,16 +699,16 @@ void FXRbIconDict::markfunc(FXIconDict* self){
void FXRbFileDict::markfunc(FXFileDict* self){
FXRbDict::markfunc(self);
FXRbGcMark(self->getSettings());
FXRbGcMark(self->FXFileDict::getSettings());
if(self){
if(self->no()>0){
FXint pos=self->first();
FXint last=self->last();
if(self->FXFileDict::no()>0){
FXint pos=self->FXFileDict::first();
FXint last=self->FXFileDict::last();
while(pos<=last){
const FXchar* key=self->key(pos);
FXFileAssoc* assoc=self->find(key);
const FXchar* key=self->FXFileDict::key(pos);
FXFileAssoc* assoc=self->FXFileDict::find(key);
FXRbGcMark(assoc);
pos=self->next(pos);
pos=self->FXFileDict::next(pos);
}
}
}
......@@ -739,7 +731,7 @@ void FXRbDirItem::markfunc(FXDirItem* self){
FXTRACE((100,"FXRbDirItem::markfunc() %p\n",self));
FXRbTreeItem::markfunc(self);
if(self){
FXRbGcMark(self->getAssoc());
FXRbGcMark(self->FXDirItem::getAssoc());
}
}
......@@ -752,7 +744,7 @@ void FXRbDirList::markfunc(FXDirList* self){
FXTRACE((100,"FXRbDirList::markfunc() %p\n",self));
FXRbTreeList::markfunc(self);
if(self){
FXRbGcMark(self->getAssociations());
FXRbGcMark(self->FXDirList::getAssociations());
}
}
......@@ -761,10 +753,10 @@ void FXRb4Splitter::markfunc(FX4Splitter* self){
FXTRACE((100,"FXRb4Splitter::markfunc() %p\n",self));
FXRbComposite::markfunc(self);
if(self){
FXRbGcMark(self->getTopLeft());
FXRbGcMark(self->getTopRight());
FXRbGcMark(self->getBottomLeft());
FXRbGcMark(self->getBottomRight());
FXRbGcMark(self->FX4Splitter::getTopLeft());
FXRbGcMark(self->FX4Splitter::getTopRight());
FXRbGcMark(self->FX4Splitter::getBottomLeft());
FXRbGcMark(self->FX4Splitter::getBottomRight());
}
}
......@@ -773,7 +765,7 @@ void FXRbFileItem::markfunc(FXFileItem* self){
FXTRACE((100,"FXRbFileItem::markfunc() %p\n",self));
FXRbIconItem::markfunc(self);
if(self){
FXRbGcMark(self->getAssoc());
FXRbGcMark(self->FXFileItem::getAssoc());
}
}
......@@ -787,9 +779,9 @@ void FXRbFileList::markfunc(FXFileList* self){
FXTRACE((100,"FXRbFileList::markfunc() %p\n",self));
FXRbIconList::markfunc(self);
if(self){
FXRbGcMark(self->getAssociations());
for(FXint i=0;i<self->getNumItems();i++){
FXFileAssoc* assoc=self->getItemAssoc(i);
FXRbGcMark(self->FXFileList::getAssociations());
for(FXint i=0;i<self->FXFileList::getNumItems();i++){
FXFileAssoc* assoc=self->FXFileList::getItemAssoc(i);
FXRbGcMark(assoc);
}
}
......@@ -812,8 +804,8 @@ void FXRbDirSelector::markfunc(FXDirSelector* self){
FXTRACE((100,"FXRbDirSelector::markfunc() %p\n",self));
FXRbPacker::markfunc(self);
if(self){
FXRbGcMark(self->acceptButton());
FXRbGcMark(self->cancelButton());
FXRbGcMark(self->FXDirSelector::acceptButton());
FXRbGcMark(self->FXDirSelector::cancelButton());
}
}
......@@ -822,8 +814,8 @@ void FXRbFileSelector::markfunc(FXFileSelector* self){
FXTRACE((100,"FXRbFileSelector::markfunc() %p\n",self));
FXRbPacker::markfunc(self);
if(self){
FXRbGcMark(self->acceptButton());
FXRbGcMark(self->cancelButton());
FXRbGcMark(self->FXFileSelector::acceptButton());
FXRbGcMark(self->FXFileSelector::cancelButton());
}
}
......@@ -832,8 +824,8 @@ void FXRbFontSelector::markfunc(FXFontSelector* self){
FXTRACE((100,"FXRbFontSelector::markfunc() %p\n",self));
FXRbPacker::markfunc(self);
if(self){
FXRbGcMark(self->acceptButton());
FXRbGcMark(self->cancelButton());
FXRbGcMark(self->FXFontSelector::acceptButton());
FXRbGcMark(self->FXFontSelector::cancelButton());
}
}
......@@ -860,11 +852,11 @@ void FXRbListBox::markfunc(FXListBox* self){
FXTRACE((100,"FXRbListBox::markfunc() %p\n",self));
FXRbPacker::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
for(FXint i=0;i<self->getNumItems();i++){
FXRbGcMark(self->getItemIcon(i));
if(self->getItemData(i))
MARK(self->getItemData(i));
FXRbGcMark(self->FXListBox::getFont());
for(FXint i=0;i<self->FXListBox::getNumItems();i++){
FXRbGcMark(self->FXListBox::getItemIcon(i));
if(self->FXListBox::getItemData(i))
MARK(self->FXListBox::getItemData(i));
}
}
}
......@@ -874,8 +866,8 @@ void FXRbTreeListBox::markfunc(FXTreeListBox* self){
FXTRACE((100,"FXRbTreeListBox::markfunc() %p\n",self));
FXRbPacker::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
for(FXTreeItem* item=self->getFirstItem();item!=0;item=item->getNext()){
FXRbGcMark(self->FXTreeListBox::getFont());
for(FXTreeItem* item=self->FXTreeListBox::getFirstItem();item!=0;item=item->FXTreeItem::getNext()){
FXRbGcMark(item);
FXRbTreeItem::markfunc(item);
}
......@@ -887,7 +879,7 @@ void FXRbToolTip::markfunc(FXToolTip* self){
FXTRACE((100,"FXRbToolTip::markfunc() %p\n",self));
FXRbShell::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXToolTip::getFont());
}
}
......@@ -938,7 +930,7 @@ void FXRbTextField::markfunc(FXTextField *self){
FXTRACE((100,"FXRbTextField::markfunc() %p\n",self));
FXRbFrame::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXTextField::getFont());
}
}
......@@ -947,7 +939,7 @@ void FXRbMenuCascade::markfunc(FXMenuCascade *self){
FXTRACE((100,"FXRbMenuCascade::markfunc() %p\n",self));
FXRbMenuCaption::markfunc(self);
if(self){
FXRbGcMark(self->getMenu());
FXRbGcMark(self->FXMenuCascade::getMenu());
}
}
......@@ -979,7 +971,7 @@ void FXRbProgressBar::markfunc(FXProgressBar *self){
FXTRACE((100,"FXRbProgressBar::markfunc() %p\n",self));
FXRbFrame::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXProgressBar::getFont());
}
}
......@@ -1000,7 +992,7 @@ void FXRbSpinner::markfunc(FXSpinner *self){
FXTRACE((100,"FXRbSpinner::markfunc() %p\n",self));
FXRbPacker::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXSpinner::getFont());
}
}
......@@ -1009,7 +1001,7 @@ void FXRbRealSpinner::markfunc(FXRealSpinner *self){
FXTRACE((100,"FXRbRealSpinner::markfunc() %p\n",self));
FXRbPacker::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXRealSpinner::getFont());
}
}
......@@ -1054,7 +1046,7 @@ void FXRbMenuButton::markfunc(FXMenuButton *self){
FXTRACE((100,"FXRbMenuButton::markfunc() %p\n",self));
FXRbLabel::markfunc(self);
if(self){
FXRbGcMark(self->getMenu());
FXRbGcMark(self->FXMenuButton::getMenu());
}
}
......@@ -1157,8 +1149,8 @@ void FXRbGLViewer::markfunc(FXGLViewer *self){
FXTRACE((100,"FXRbGLViewer::markfunc() %p\n",self));
FXRbGLCanvas::markfunc(self);
if(self){
FXRbGcMark(self->getScene());
FXRbGcMark(self->getSelection());
FXRbGcMark(self->FXGLViewer::getScene());
FXRbGcMark(self->FXGLViewer::getSelection());
}
}
......@@ -1208,8 +1200,8 @@ void FXRbStatusBar::markfunc(FXStatusBar *self){
FXTRACE((100,"FXRbStatusBar::markfunc() %p\n",self));
FXRbHorizontalFrame::markfunc(self);
if(self){
FXRbGcMark(self->getStatusLine());
FXRbGcMark(self->getDragCorner());
FXRbGcMark(self->FXStatusBar::getStatusLine());
FXRbGcMark(self->FXStatusBar::getDragCorner());
}
}
......@@ -1218,10 +1210,10 @@ void FXRbMDIChild::markfunc(FXMDIChild *self){
FXTRACE((100,"FXRbMDIChild::markfunc() %p\n",self));
FXRbComposite::markfunc(self);
if(self){
FXRbGcMark(self->contentWindow());
FXRbGcMark(self->getIcon());
FXRbGcMark(self->getMenu());
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXMDIChild::contentWindow());
FXRbGcMark(self->FXMDIChild::getIcon());
FXRbGcMark(self->FXMDIChild::getMenu());
FXRbGcMark(self->FXMDIChild::getFont());
}
}
......@@ -1253,7 +1245,7 @@ void FXRbToggleButton::markfunc(FXToggleButton *self){
FXTRACE((100,"FXRbToggleButton::markfunc() %p\n",self));
FXRbLabel::markfunc(self);
if(self){
FXRbGcMark(self->getAltIcon());
FXRbGcMark(self->FXToggleButton::getAltIcon());
}
}
......@@ -1262,7 +1254,7 @@ void FXRbTriStateButton::markfunc(FXTriStateButton *self){
FXTRACE((100,"FXRbTriStateButton::markfunc() %p\n",self));
FXRbToggleButton::markfunc(self);
if(self){
FXRbGcMark(self->getMaybeIcon());
FXRbGcMark(self->FXTriStateButton::getMaybeIcon());
}
}
......@@ -1271,7 +1263,7 @@ void FXRbPopup::markfunc(FXPopup *self){
FXTRACE((100,"FXRbPopup::markfunc() %p\n",self));
FXRbShell::markfunc(self);
if(self){
FXRbGcMark(self->getGrabOwner());
FXRbGcMark(self->FXPopup::getGrabOwner());
}
}
......@@ -1280,8 +1272,8 @@ void FXRbOptionMenu::markfunc(FXOptionMenu *self){
FXTRACE((100,"FXRbOptionMenu::markfunc() %p\n",self));
FXRbLabel::markfunc(self);
if(self){
FXRbGcMark(self->getCurrent());
FXRbGcMark(self->getMenu());
FXRbGcMark(self->FXOptionMenu::getCurrent());
FXRbGcMark(self->FXOptionMenu::getMenu());
}
}
......@@ -1296,8 +1288,8 @@ void FXRbToolBar::markfunc(FXToolBar *self){
FXTRACE((100,"FXRbToolBar::markfunc() %p\n",self));
FXRbPacker::markfunc(self);
if(self){
FXRbGcMark(self->getDryDock());
FXRbGcMark(self->getWetDock());
FXRbGcMark(self->FXToolBar::getDryDock());
FXRbGcMark(self->FXToolBar::getWetDock());
}
}
......@@ -1329,7 +1321,7 @@ void FXRbScrollWindow::markfunc(FXScrollWindow *self){
FXTRACE((100,"FXRbScrollWindow::markfunc() %p\n",self));
FXRbScrollArea::markfunc(self);
if(self){
FXRbGcMark(self->contentWindow());
FXRbGcMark(self->FXScrollWindow::contentWindow());
}
}
......@@ -1338,7 +1330,7 @@ void FXRbText::markfunc(FXText *self){
FXTRACE((100,"FXRbText::markfunc() %p\n",self));
FXRbScrollArea::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXText::getFont());
}
}
......@@ -1352,7 +1344,7 @@ void FXRbSplashWindow::markfunc(FXSplashWindow *self){
FXTRACE((100,"FXRbSplashWindow::markfunc() %p\n",self));
FXRbTopWindow::markfunc(self);
if(self){
FXRbGcMark(self->getIcon());
FXRbGcMark(self->FXSplashWindow::getIcon());
}
}
......@@ -1372,7 +1364,7 @@ void FXRbMenuTitle::markfunc(FXMenuTitle *self){
FXTRACE((100,"FXRbMenuTitle::markfunc() %p\n",self));
FXRbMenuCaption::markfunc(self);
if(self){
FXRbGcMark(self->getMenu());
FXRbGcMark(self->FXMenuTitle::getMenu());
}
}
......@@ -1390,7 +1382,7 @@ void FXRbBitmapView::markfunc(FXBitmapView *self){
void FXRbImageView::markfunc(FXImageView *self){
FXRbScrollArea::markfunc(self);
if(self){
FXRbGcMark(self->getImage());
FXRbGcMark(self->FXImageView::getImage());
}
}
......@@ -1398,8 +1390,8 @@ void FXRbImageView::markfunc(FXImageView *self){
void FXRbShutterItem::markfunc(FXShutterItem *self){
FXRbVerticalFrame::markfunc(self);
if(self){
FXRbGcMark(self->getButton());
FXRbGcMark(self->getContent());
FXRbGcMark(self->FXShutterItem::getButton());
FXRbGcMark(self->FXShutterItem::getContent());
}
}
......@@ -1414,8 +1406,8 @@ void FXRbMenuCaption::markfunc(FXMenuCaption *self){
FXTRACE((100,"FXRbMenuCaption::markfunc() %p\n",self));
FXRbWindow::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->getIcon());
FXRbGcMark(self->FXMenuCaption::getFont());
FXRbGcMark(self->FXMenuCaption::getIcon());
}
}
......@@ -1430,7 +1422,7 @@ void FXRbStatusLine::markfunc(FXStatusLine *self){
FXTRACE((100,"FXRbStatusLine::markfunc() %p\n",self));
FXRbFrame::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXStatusLine::getFont());
}
}
......@@ -1480,7 +1472,7 @@ void FXRbScrollBar::markfunc(FXScrollBar *self){
void FXRbStream::markfunc(FXStream *self){
FXTRACE((100,"FXRbStream::markfunc() %p\n",self));
if(self){
FXRbGcMark((void*)self->container());
FXRbGcMark((void*)self->FXStream::container());
}
}
......@@ -1572,7 +1564,7 @@ void FXRbBitmapFrame::markfunc(FXBitmapFrame* self){
FXTRACE((100,"start FXRbBitmapFrame::markfunc(%p)\n",self));
FXRbFrame::markfunc(self);
if(self!=0){
FXRbGcMark(self->getBitmap());
FXRbGcMark(self->FXBitmapFrame::getBitmap());
}
FXTRACE((100,"end FXRbBitmapFrame::markfunc(%p)\n",self));
}
......@@ -1582,7 +1574,7 @@ void FXRbImageFrame::markfunc(FXImageFrame* self){
FXTRACE((100,"start FXRbImageFrame::markfunc(%p)\n",self));
FXRbFrame::markfunc(self);
if(self!=0){
FXRbGcMark(self->getImage());
FXRbGcMark(self->FXImageFrame::getImage());
}
FXTRACE((100,"end FXRbImageFrame::markfunc(%p)\n",self));
}
......@@ -1607,12 +1599,12 @@ void FXRbWizard::markfunc(FXWizard* self){
FXTRACE((100,"FXRbWizard::markfunc() %p\n",self));
FXRbDialogBox::markfunc(self);
if(self){
FXRbGcMark(self->advanceButton());
FXRbGcMark(self->retreatButton());
FXRbGcMark(self->finishButton());
FXRbGcMark(self->cancelButton());
FXRbGcMark(self->getContainer());
FXRbGcMark(self->getImage());
FXRbGcMark(self->FXWizard::advanceButton());
FXRbGcMark(self->FXWizard::retreatButton());
FXRbGcMark(self->FXWizard::finishButton());
FXRbGcMark(self->FXWizard::cancelButton());
FXRbGcMark(self->FXWizard::getContainer());
FXRbGcMark(self->FXWizard::getImage());
}
}
......@@ -1621,7 +1613,7 @@ void FXRbRuler::markfunc(FXRuler* self){
FXTRACE((100,"FXRbRuler::markfunc() %p\n",self));
FXRbFrame::markfunc(self);
if(self){
FXRbGcMark(self->getFont());
FXRbGcMark(self->FXRuler::getFont());
}
}
......@@ -1630,10 +1622,10 @@ void FXRbRulerView::markfunc(FXRulerView* self){
FXTRACE((100,"FXRbRulerView::markfunc() %p\n",self));
FXRbScrollArea::markfunc(self);
if(self){
FXRbGcMark(self->horizontalRuler());
FXRbGcMark(self->verticalRuler());
FXRbGcMark(self->getHRulerFont());
FXRbGcMark(self->getVRulerFont());
FXRbGcMark(self->FXRulerView::horizontalRuler());
FXRbGcMark(self->FXRulerView::verticalRuler());
FXRbGcMark(self->FXRulerView::getHRulerFont());
FXRbGcMark(self->FXRulerView::getVRulerFont());
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment