diff --git a/harbour/source/vm/hvm.c b/harbour/source/vm/hvm.c index 223261beaa..3c9e36946f 100644 --- a/harbour/source/vm/hvm.c +++ b/harbour/source/vm/hvm.c @@ -584,7 +584,9 @@ void HB_EXPORT hb_vmExecute( const BYTE * pCode, PHB_SYMB pSymbols ) break; case HB_P_FUNCTION: - hb_itemClear( &hb_stack.Return ); + if( ( &hb_stack.Return )->type ) + hb_itemClear( &hb_stack.Return ); + hb_vmDo( pCode[ w + 1 ] + ( pCode[ w + 2 ] * 256 ) ); hb_itemCopy( hb_stackTopItem(), &hb_stack.Return ); hb_stackPush(); @@ -4736,4 +4738,4 @@ void HB_EXPORT hb_vmProcessDllSymbols( PHB_SYMB pModuleSymbols, USHORT uiModuleS hb_dynsymNew( ( pModuleSymbols + ui ) ); } } -} +} \ No newline at end of file