diff --git a/basic/source/runtime/dllmgr-x86.cxx b/basic/source/runtime/dllmgr-x86.cxx index acc9cb5..e737d5c 100644 --- a/basic/source/runtime/dllmgr-x86.cxx +++ b/basic/source/runtime/dllmgr-x86.cxx @@ -155,6 +155,7 @@ std::size_t alignment(SbxVariable * variable) { case SbxLONG: case SbxSINGLE: case SbxSTRING: + case SbxCURRENCY: return 4; case SbxDOUBLE: return 8; @@ -282,6 +283,9 @@ SbError marshal( case SbxDOUBLE: add(blob, variable->GetDouble(), outer ? 4 : 8, offset); break; + case SbxCURRENCY: + add(blob, variable->GetCurrency(), 4, offset); + break; case SbxSTRING: { void * p; @@ -324,6 +328,7 @@ SbError marshal( case SbxLONG: case SbxSINGLE: case SbxDOUBLE: + case SbxCURRENCY: case SbxBOOL: case SbxBYTE: add(blob, variable->data(), 4, offset); @@ -396,6 +401,9 @@ void const * unmarshal(SbxVariable * variable, void const * data) { case SbxDOUBLE: variable->PutDouble(read< double >(&data)); break; + case SbxCURRENCY: + variable->PutCurrency(read< sal_Int64 >(&data)); + break; case SbxSTRING: read< char * >(&data); // handled by unmarshalString break;