2012-06-11 19:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_bind.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
+ Implemented: [*D=1*] token of methods in .qth for __HBQT_REVAMP__.
This changes the ownership of an object from Harbour to Qt.
This commit is contained in:
@@ -16,6 +16,12 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2012-06-11 19:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbqt/qtcore/hbqt_bind.cpp
|
||||
* contrib/hbqt/qtcore/hbqt_pointer.cpp
|
||||
+ Implemented: [*D=1*] token of methods in .qth for __HBQT_REVAMP__.
|
||||
This changes the ownership of an object from Harbour to Qt.
|
||||
|
||||
2012-06-12 04:17 UTC+0200 Viktor Szakats (harbour syenar.net)
|
||||
* contrib/hbhttpd/log.prg
|
||||
* contrib/hbtip/log.prg
|
||||
|
||||
@@ -110,7 +110,7 @@ static void hbqt_bind_init( void* cargo )
|
||||
|
||||
PHB_ITEM hbqt_bindGetHbObject( PHB_ITEM pItem, void * qtObject, const char * szClassName, PHBQT_DEL_FUNC pDelFunc, int iFlags )
|
||||
{
|
||||
#if 1
|
||||
#if 0
|
||||
char * pname = ( char* ) hb_xgrab( 200 );
|
||||
char * pname1 = ( char* ) hb_xgrab( 200 );
|
||||
HB_TRACE( HB_TR_DEBUG, ( ".................HARBOUR_REQUEST_BIND_OBJECT( %p, %i, %s, %s, %s ).................", qtObject, iFlags, szClassName, hb_procname( 0, pname, HB_TRUE ), hb_procname( 1, pname1, HB_TRUE ) ) );
|
||||
@@ -310,7 +310,6 @@ void * hbqt_bindGetQtObject( PHB_ITEM pObject )
|
||||
}
|
||||
HBQT_BIND_UNLOCK
|
||||
}
|
||||
|
||||
return qtObject;
|
||||
}
|
||||
|
||||
@@ -374,7 +373,7 @@ void hbqt_bindDestroyHbObject( PHB_ITEM pObject )
|
||||
else
|
||||
{
|
||||
void * oobj = bind->qtObject;
|
||||
HB_TRACE( HB_TR_DEBUG, ( "HARBOUR_DESTROY_ABOUT_TO..........( %p )", oobj ) );
|
||||
HB_TRACE( HB_TR_DEBUG, ( "HARBOUR_DESTROY_ABOUT_TO..........( %p )........ %s", oobj, bind->szClassName ) );
|
||||
* bind_ptr = bind->next;
|
||||
if( bind->pDelFunc != NULL )
|
||||
{
|
||||
@@ -389,14 +388,7 @@ void hbqt_bindDestroyHbObject( PHB_ITEM pObject )
|
||||
}
|
||||
else
|
||||
{
|
||||
if( fObject )
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( "HARBOUR_DESTROYED_NOT_OWNED_BY_HARBOUR( %p )...%s", bind->qtObject, obj->metaObject()->className() ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( "HARBOUR_DESTROYED_NOT_OWNED_BY_HARBOUR( %p )", bind->qtObject ) );
|
||||
}
|
||||
HB_TRACE( HB_TR_DEBUG, ( "HARBOUR_DESTROYED_NOT_OWNED_BY_HARBOUR( %p )...%s", bind->qtObject, bind->szClassName ) );
|
||||
* bind_ptr = bind->next;
|
||||
hb_xfree( bind );
|
||||
}
|
||||
@@ -505,7 +497,10 @@ void hbqt_bindSetOwner( void * qtObject, HB_BOOL fOwner )
|
||||
{
|
||||
if( bind->qtObject == qtObject )
|
||||
{
|
||||
bind->iFlags = ( fOwner ? bind->iFlags | HBQT_BIT_OWNER : bind->iFlags & ~( HBQT_BIT_OWNER ) );
|
||||
if( fOwner == HB_TRUE )
|
||||
bind->iFlags = bind->iFlags | HBQT_BIT_OWNER;
|
||||
else
|
||||
bind->iFlags = bind->iFlags & ~( HBQT_BIT_OWNER );
|
||||
break;
|
||||
}
|
||||
bind = bind->next;
|
||||
|
||||
@@ -248,7 +248,12 @@ void hbqt_errRT_ARG( void )
|
||||
void hbqt_par_detach_ptrGC( int iParam )
|
||||
{
|
||||
HB_TRACE( HB_TR_DEBUG, ( "hbqt_par_detach_ptrGC( %d )", iParam ) );
|
||||
|
||||
#ifdef __HBQT_REVAMP__
|
||||
if( HB_ISOBJECT( iParam ) )
|
||||
{
|
||||
hbqt_bindSetOwner( hbqt_bindGetQtObject( hb_param( iParam, HB_IT_OBJECT ) ), HB_FALSE );
|
||||
}
|
||||
#else
|
||||
if( HB_ISOBJECT( iParam ) )
|
||||
{
|
||||
PHB_ITEM pObj = hb_param( iParam, HB_IT_ANY );
|
||||
@@ -263,6 +268,7 @@ void hbqt_par_detach_ptrGC( int iParam )
|
||||
if( p && p->ph )
|
||||
p->bNew = false;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
HB_FUNC( __HBQT_ISPOINTER )
|
||||
|
||||
Reference in New Issue
Block a user