diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 41bcbd3e06..dec6dca7c4 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,14 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-08-24 20:40 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * contrib/hbole/ole2.c + ! Fixed GPF reported by Guillermo. + (introduced in 1.0.0rc2 when switching from parnl to + parptr as 64-bit cleanup, two calls were missed from + the update). + ! Fixed another potential problem. + 2008-08-24 18:18 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/compiler/cmdcheck.c * source/compiler/hbusage.c diff --git a/harbour/contrib/hbole/ole2.c b/harbour/contrib/hbole/ole2.c index fb1d7af933..946cdd8b35 100644 --- a/harbour/contrib/hbole/ole2.c +++ b/harbour/contrib/hbole/ole2.c @@ -293,7 +293,7 @@ static void RetValue( void ) break; case VT_DISPATCH: - hb_retnl( ( LONG ) s_RetVal.pdispVal ); + hb_retptr( s_RetVal.pdispVal ); break; case VT_I4: @@ -333,7 +333,7 @@ static void RetValue( void ) break; case VT_DISPATCH: - hb_retnl( ( LONG ) s_RetVal.n1.n2.n3.pdispVal ); + hb_retptr( s_RetVal.n1.n2.n3.pdispVal ); break; case VT_I4: @@ -370,9 +370,9 @@ HB_FUNC( CREATEOLEOBJECT ) /* ( cOleName | cCLSID [, cIID ] ) */ void * pDisp = NULL; /* IDispatch */ /* 'void *' used intentionally to inform compiler that there is no strict-aliasing */ - if( s_bInitialized ) - s_nOleError = S_OK; - else + s_nOleError = S_OK; + + if( ! s_bInitialized ) { s_nOleError = OleInitialize( NULL ); s_bInitialized = TRUE;