*** empty log message ***

This commit is contained in:
Antonio Linares
1999-10-11 07:55:26 +00:00
parent f15ee39b99
commit fff94bccbf
2 changed files with 12 additions and 7 deletions

View File

@@ -197,7 +197,9 @@ typedef struct _HB_BASEARRAY
PHB_ITEM pItems; /* pointer to the array items */
ULONG ulLen; /* number of items in the array */
USHORT uiHolders; /* number of holders of this array */
USHORT uiPrevHolders; /* for fixing after access super */
USHORT uiClass; /* offset to the classes base if it is an object */
USHORT uiPrevCls; /* for fixing after access super */
BOOL bSuperCast; /* is it a super cast ? */
} BASEARRAY, * PBASEARRAY, * BASEARRAY_PTR;

View File

@@ -502,7 +502,9 @@ HARBOUR HB___CLSNEW( void )
pNewCls->uiDatas = pSprCls->uiDatas + hb_parni( 2 );
pNewCls->uiMethods = pSprCls->uiMethods;
pNewCls->pClassDatas = hb_arrayClone( pSprCls->pClassDatas );
/* pNewCls->pClassDatas = hb_arrayClone( pSprCls->pClassDatas ); */
pNewCls->pClassDatas = hb_itemNew( NULL );
hb_itemCopy( pNewCls->pClassDatas, pSprCls->pClassDatas );
pNewCls->pInlines = hb_arrayClone( pSprCls->pInlines );
@@ -1068,16 +1070,17 @@ static HARBOUR hb___msgSuper( void )
PBASEARRAY pNewBase = ( PBASEARRAY ) hb_xgrab( sizeof( BASEARRAY ) );
USHORT uiSuperCls = s_pMethod->uiData; /* Get handle of superclass */
memcpy( pSuper, pObject, sizeof( HB_ITEM ) );
/* Allocate new structures */
memcpy( pSuper, pObject, sizeof( HB_ITEM ) ); /* Allocate new structures */
memcpy( pNewBase, pObject->item.asArray.value, sizeof( BASEARRAY ) );
pSuper->item.asArray.value = pNewBase;
pNewBase->uiClass = uiSuperCls;
pNewBase->uiHolders = 1; /* New item is returned */
pNewBase->bSuperCast = TRUE; /* Do not dispose pItems !! */
/* A bit dirty, but KISS. */
pNewBase->uiPrevCls = pNewBase->uiClass;
pNewBase->uiPrevHolders = pNewBase->uiHolders;
pNewBase->uiClass = uiSuperCls;
pNewBase->uiHolders = 1; /* New item is returned */
pNewBase->bSuperCast = TRUE; /* Do not dispose pItems !! */
/* A bit dirty, but KISS. */
hb_itemCopy( &hb_stack.Return, pSuper );
hb_itemRelease( pSuper );
}