2007-05-07 02:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/source/rdd/dbcmd.c
    * initialize lpaParent in DBRELINFO structure to pArea - please
      note that this initialization is ignored by default SETREL()
      RDD method

  * harbour/source/rdd/usrrdd/usrrdd.c
    ! fixed GPF when NULL lpaParent or lpaChild was used in DBRELINFO
      structure
This commit is contained in:
Przemyslaw Czerpak
2007-05-07 00:20:30 +00:00
parent 56a5077cb0
commit dab98431de
3 changed files with 16 additions and 13 deletions

View File

@@ -8,6 +8,16 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2007-05-07 02:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/dbcmd.c
* initialize lpaParent in DBRELINFO structure to pArea - please
note that this initialization is ignored by default SETREL()
RDD method
* harbour/source/rdd/usrrdd/usrrdd.c
! fixed GPF when NULL lpaParent or lpaChild was used in DBRELINFO
structure
2007-05-06 11:42 UTC+0100 Antonio Linares (alinares@fivetechsoft.com)
* contrib/adordd/adordd.ch
* New define added

View File

@@ -2154,7 +2154,7 @@ HB_FUNC( DBSETRELATION )
dbRelations.isScoped = hb_parl( 4 );
dbRelations.isOptimized = FALSE;
dbRelations.lpaChild = pChildArea;
dbRelations.lpaParent = NULL;
dbRelations.lpaParent = pArea;
dbRelations.lpdbriNext = NULL;
SELF_SETREL( pArea, &dbRelations );

View File

@@ -166,16 +166,9 @@ static ERRCODE hb_usrEvalAreaFunc( PHB_ITEM pMethods, USHORT uiMethod, AREAP pAr
static AREAP hb_usrGetAreaPointer( int iArea )
{
if( iArea != 0 )
{
int iOldArea = hb_rddGetCurrentWorkAreaNumber();
AREAP pArea;
hb_rddSelectWorkAreaNumber( iArea );
pArea = ( AREAP ) hb_rddGetCurrentWorkAreaPointer();
hb_rddSelectWorkAreaNumber( iOldArea );
return pArea;
}
return NULL;
return ( AREAP ) hb_rddGetWorkAreaPointer( iArea );
else
return NULL;
}
@@ -312,8 +305,8 @@ static PHB_ITEM hb_usrRelInfoToItem( LPDBRELINFO pRelInfo )
hb_itemCopy( hb_arrayGetItemPtr( pItem, UR_RI_CEXPR ), pRelInfo->abKey );
hb_itemPutL( hb_arrayGetItemPtr( pItem, UR_RI_SCOPED ), pRelInfo->isScoped );
hb_itemPutL( hb_arrayGetItemPtr( pItem, UR_RI_OPTIMIZED ), pRelInfo->isOptimized );
hb_itemPutNI( hb_arrayGetItemPtr( pItem, UR_RI_PARENT ), pRelInfo->lpaParent->uiArea );
hb_itemPutNI( hb_arrayGetItemPtr( pItem, UR_RI_CHILD ), pRelInfo->lpaChild->uiArea );
hb_itemPutNI( hb_arrayGetItemPtr( pItem, UR_RI_PARENT ), pRelInfo->lpaParent ? pRelInfo->lpaParent->uiArea : 0 );
hb_itemPutNI( hb_arrayGetItemPtr( pItem, UR_RI_CHILD ), pRelInfo->lpaChild ? pRelInfo->lpaChild->uiArea : 0 );
hb_itemPutPtr( hb_arrayGetItemPtr( pItem, UR_RI_NEXT ), pRelInfo->lpdbriNext );
return pItem;