diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f1cb205619..1c5944443d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,15 @@ The license applies to all entries newer than 2009-04-28. */ +2012-06-20 17:27 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbqt/qtcore/hbqt_bind.cpp + * contrib/hbqt/qtcore/qth/QLibraryInfo.qth + * contrib/hbqt/qtgui/qth/QDesktopServices.qth + ! Implemented: mechanism to generate a Harbour level class + without the need of a Qt level object for those classes + where methods are executed by Qt code only. + This fixes the bug issue reported by Ligui. + 2012-06-20 16:30 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtcore/hbqt_bind.cpp * contrib/hbqt/qtcore/hbqt_misc.prg diff --git a/harbour/contrib/hbqt/qtcore/hbqt_bind.cpp b/harbour/contrib/hbqt/qtcore/hbqt_bind.cpp index 4c163a5767..9c4bc1d343 100644 --- a/harbour/contrib/hbqt/qtcore/hbqt_bind.cpp +++ b/harbour/contrib/hbqt/qtcore/hbqt_bind.cpp @@ -240,8 +240,9 @@ PHB_ITEM hbqt_bindGetHbObject( PHB_ITEM pItem, void * qtObject, const char * szC PHB_ITEM pObject = NULL; - if( qtObject == NULL ) - return pObject; + if( ! HB_IS_NUMERIC( ( PHB_ITEM ) qtObject ) ) + if( qtObject == NULL ) + return pObject; PHB_SYMB pClassFunc = hb_dynsymGetSymbol( szClassName ); if( pClassFunc == NULL ) diff --git a/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth b/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth index 4b2ca1a7db..07362dfa82 100644 --- a/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth +++ b/harbour/contrib/hbqt/qtcore/qth/QLibraryInfo.qth @@ -36,7 +36,9 @@ Constructor = */ HB_FUNC( QT_QLIBRARYINFO ) { - __HB_RETPTRGC__( NULL ); + PHB_ITEM pItem = hb_itemPutNI( NULL, 0 ); + hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, pItem, "HB_QLIBRARYINFO", NULL, HBQT_BIT_NONE ) ); + hb_itemRelease( pItem ); } diff --git a/harbour/contrib/hbqt/qtgui/qth/QDesktopServices.qth b/harbour/contrib/hbqt/qtgui/qth/QDesktopServices.qth index bfc7e3f3df..e7f032d181 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QDesktopServices.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QDesktopServices.qth @@ -35,7 +35,9 @@ Constructor = no */ HB_FUNC( QT_QDESKTOPSERVICES ) { - __HB_RETPTRGC__( NULL ); + PHB_ITEM pItem = hb_itemPutNI( NULL, 0 ); + hb_itemReturnRelease( hbqt_bindGetHbObject( NULL, pItem, "HB_QDESKTOPSERVICES", NULL, HBQT_BIT_NONE ) ); + hb_itemRelease( pItem ); }