2012-05-16 12:24 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)

* contrib/hbqt/qtcore/hbqt.h
  * contrib/hbqt/qtcore/hbqt_pointer.cpp
    - Removed: residual contructs pointing to "HB_U32 type" member of 
      all the important structure of HBQT plus the functions associated
      with it. Strange point is that the bug was not showing up on Windows. 
      Thanks Francessco for dig-up.
This commit is contained in:
Pritpal Bedi
2012-05-16 19:27:58 +00:00
parent a44e171cc2
commit 993c53c7b0
3 changed files with 8 additions and 51 deletions

View File

@@ -16,6 +16,14 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-05-16 12:24 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_pointer.cpp
- Removed: residual contructs pointing to "HB_U32 type" member of
all the important structure of HBQT plus the functions associated
with it. Strange point is that the bug was not showing up on Windows.
Thanks Francessco for dig-up.
2012-05-16 19:23 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/vm/classes.c
% small optimization in __CLSGetProperties() function

View File

@@ -83,7 +83,6 @@ typedef struct
void * ph;
bool bNew;
PHBQT_GC_FUNC func;
HB_U32 type;
PHBQT_GC_FUNC mark;
} HBQT_GC_T;
@@ -101,8 +100,6 @@ extern HB_EXPORT void * hbqt_par_ptr( int iParam );
extern HB_EXPORT HBQT_GC_T * hbqt_par_ptrGC( int iParam ); /* returns a pointer to the HBQT_GC_T area */
extern HB_EXPORT void hbqt_par_detach_ptrGC( int iParam );
extern HB_EXPORT void hbqt_itemPushReturn( void * ptr, PHB_ITEM pSelf );
extern HB_EXPORT HB_U32 hbqt_getObjectType( int iParam );
extern HB_EXPORT HB_BOOL hbqt_isObjectType( int iParam, HB_U32 iType ); /* check if parameter iParam is EXACTLY of type iType */
extern HB_EXPORT HB_BOOL hbqt_par_isDerivedFrom( int iParam, const char * pszClsName ); /* check if parameter iParam is class or subclass of szClsName */
extern HB_EXPORT HB_BOOL hbqt_obj_isDerivedFrom( PHB_ITEM pItem, const char * pszClsName ); /* check if parameter iParam is class or subclass of szClsName */
extern HB_EXPORT void * hbqt_get_ptr( PHB_ITEM pObj );

View File

@@ -201,54 +201,6 @@ HBQT_GC_T * hbqt_par_ptrGC( int iParam )
return NULL;
}
HB_BOOL hbqt_isObjectType( int iParam, HB_U32 iType )
{
PHB_ITEM pItem;
HB_TRACE( HB_TR_DEBUG, ( "hbqt_isObjectType( %d )", iParam ) );
if( ( pItem = hb_param( iParam, HB_IT_OBJECT ) ) != NULL )
{
hb_vmPushSymbol( hb_dynsymSymbol( hb_dynsymFindName( "PPTR" ) ) );
hb_vmPush( pItem );
hb_vmSend( 0 );
pItem = hb_param( -1, HB_IT_POINTER );
if( pItem )
{
HBQT_GC_T * p = ( HBQT_GC_T * ) hb_itemGetPtrGC( pItem, hbqt_gcFuncs() );
if( p && p->ph )
return p->type == iType;
}
}
return HB_FALSE;
}
HB_U32 hbqt_getObjectType( int iParam )
{
PHB_ITEM pItem;
HB_TRACE( HB_TR_DEBUG, ( "hbqt_getObjectType( %d )", iParam ) );
if( ( pItem = hb_param( iParam, HB_IT_OBJECT ) ) != NULL )
{
hb_vmPushSymbol( hb_dynsymSymbol( hb_dynsymFindName( "PPTR" ) ) );
hb_vmPush( pItem );
hb_vmSend( 0 );
pItem = hb_param( -1, HB_IT_POINTER );
if( pItem )
{
HBQT_GC_T * p = ( HBQT_GC_T * ) hb_itemGetPtrGC( pItem, hbqt_gcFuncs() );
if( p && p->ph )
return p->type;
}
}
return 0;
}
HB_FUNC( HBQT_ISOBJECT )
{
PHB_ITEM pItem;