From d00a2d5cdfa3c56e5e1df694fd63589f016ce352 Mon Sep 17 00:00:00 2001 From: Horacio Dario Roldan Kasimatis Date: Wed, 24 Apr 2002 03:54:11 +0000 Subject: [PATCH] 2002-04-24 00:42 UTC-0300 Horacio Roldan * source/rdd/workarea.c ! fixed bug with set relation to, found by Walter Negro. --- harbour/source/rdd/workarea.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/harbour/source/rdd/workarea.c b/harbour/source/rdd/workarea.c index 90e5435d15..b0d6ee7723 100644 --- a/harbour/source/rdd/workarea.c +++ b/harbour/source/rdd/workarea.c @@ -609,7 +609,7 @@ ERRCODE hb_waEval( AREAP pArea, LPDBEVALINFO pEvalInfo ) return SUCCESS; } - if( !pEvalInfo->dbsci.itmCobWhile && + if( !pEvalInfo->dbsci.itmCobWhile && (!pEvalInfo->dbsci.fRest || !hb_itemGetL( pEvalInfo->dbsci.fRest ) ) && !pEvalInfo->dbsci.lNext ) SELF_GOTOP( pArea ); @@ -719,14 +719,19 @@ ERRCODE hb_waSyncChildren( AREAP pArea ) ERRCODE hb_waClearRel( AREAP pArea ) { LPDBRELINFO lpdbRelation, lpdbRelPrev; + int iCurrArea; HB_TRACE(HB_TR_DEBUG, ("hb_waClearRel(%p)", pArea )); + iCurrArea = hb_rddGetCurrentWorkAreaNumber(); + /* Free all relations */ lpdbRelation = pArea->lpdbRelations; while( lpdbRelation ) { + hb_rddSelectWorkAreaNumber( lpdbRelation->lpaChild->uiArea); SELF_CHILDEND( lpdbRelation->lpaChild, lpdbRelation ); + hb_rddSelectWorkAreaNumber( iCurrArea ); if( lpdbRelation->itmCobExpr ) {