From 616efab846fef76a66624d1044f8e54b9db62731 Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Tue, 24 Aug 2010 09:16:42 +0000 Subject: [PATCH] 2010-08-24 11:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbwin/olecore.c ! added missing call to Release() method in __OleGetActiveObject() function. It should fix problem reported by Daniel Garcia-Gil. --- harbour/ChangeLog | 5 +++++ harbour/contrib/hbwin/olecore.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index b718950f68..6dbe151ddc 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,11 @@ The license applies to all entries newer than 2009-04-28. */ +2010-08-24 11:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/contrib/hbwin/olecore.c + ! added missing call to Release() method in __OleGetActiveObject() + function. It should fix problem reported by Daniel Garcia-Gil. + 2010-08-24 09:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * package/winuni/mpkg_win_uni.bat ! Typo. diff --git a/harbour/contrib/hbwin/olecore.c b/harbour/contrib/hbwin/olecore.c index 62c8e29bcb..a015f17ec9 100644 --- a/harbour/contrib/hbwin/olecore.c +++ b/harbour/contrib/hbwin/olecore.c @@ -1326,7 +1326,10 @@ HB_FUNC( __OLEGETACTIVEOBJECT ) /* ( cOleName | cCLSID [, cIID ] ) */ lOleError = GetActiveObject( HB_ID_REF( ClassID ), NULL, &pUnk ); if ( lOleError == S_OK ) + { lOleError = HB_VTBL( pUnk )->QueryInterface( HB_THIS_( pUnk ) HB_ID_REF( iid ), ( void** ) ( void * ) &pDisp ); + HB_VTBL( pUnk )->Release( HB_THIS( pUnk ) ); + } } } else