bool stacking_assoc(WStacking *st, WRegion *reg) { assert(st->reg==NULL); if(stacking_of_reg==NULL){ stacking_of_reg=make_rb(); if(stacking_of_reg==NULL) return FALSE; } if(rb_insertp(stacking_of_reg, reg, st)==NULL) return FALSE; st->reg=reg; return TRUE; }
bool region_do_set_return(WRegion *reg, WPHolder *ph) { Rb_node node; assert(!OBJ_IS_BEING_DESTROYED(reg)); region_unset_return(reg); if(retrb==NULL){ retrb=make_rb(); if(retrb==NULL) return FALSE; } node=rb_insertp(retrb, reg, ph); region_notify_change(reg, ioncore_g.notifies.set_return); return (node!=NULL); }