diff --git a/include/relation.cpp b/include/relation.cpp index 230c39bec..47726fa2b 100755 --- a/include/relation.cpp +++ b/include/relation.cpp @@ -2472,11 +2472,14 @@ TSortedfile::TSortedfile(int logicnum,TRelation * rel,const char * ordexpr,const } else _rel=rel; - _curs = new TSorted_cursor(_rel,ordexpr,filter,nkey); - _curs->setfilter(filter,TRUE); //BUG: cursors doesn't update rel. + _curs = new TSorted_cursor(_rel,ordexpr,"",nkey); if (&curr()!=&(_curs->file().curr())) _curs->file().set_curr(&curr()); + + _curs->setfilter(filter,TRUE); //must pass TRUE because cursors doesn't update rel (BUG). + // DON't move this line BEFORE set_curr : filter's fieldrefs are allocated at cursor setfilter + } // @mfunc Distruttore TSortedfile::~TSortedfile()