From 8f8cb5927cd291a6e414eb086736dbbdf0c12ccc Mon Sep 17 00:00:00 2001 From: Pritpal Bedi Date: Sun, 13 May 2012 19:48:01 +0000 Subject: [PATCH] 2012-05-13 12:44 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/hbmk2_qt.hb ! Fixed: to properly handle HBQxxx classes alongwith Qxxx ones. --- harbour/ChangeLog | 4 ++++ harbour/contrib/hbqt/hbmk2_qt.hb | 12 ++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 6bee20ce1b..40f3666ea0 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,10 @@ The license applies to all entries newer than 2009-04-28. */ +2012-05-13 12:44 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbqt/hbmk2_qt.hb + ! Fixed: to properly handle HBQxxx classes alongwith Qxxx ones. + 2012-05-13 12:25 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.h * contrib/hbqt/qtgui/qth/HBQSyntaxHighlighter.qth diff --git a/harbour/contrib/hbqt/hbmk2_qt.hb b/harbour/contrib/hbqt/hbmk2_qt.hb index 50933be148..65be644d12 100644 --- a/harbour/contrib/hbqt/hbmk2_qt.hb +++ b/harbour/contrib/hbqt/hbmk2_qt.hb @@ -1487,6 +1487,8 @@ METHOD HbQtSource:build() AAdd( aLine, "" ) ENDIF +#define __GCMARK__ + ::buildExtendedSource( aLine ) /* Insert protected functions */ IF ::cQtVer > "0x040500" @@ -1506,7 +1508,9 @@ METHOD HbQtSource:build() AAdd( aLine, " bool bNew;" ) AAdd( aLine, " PHBQT_GC_FUNC func;" ) AAdd( aLine, " HB_U32 type;" ) +#ifdef __GCMARK__ AAdd( aLine, " PHBQT_GC_FUNC mark;" ) +#endif AAdd( aLine, "} HBQT_GC_T_" + ::cQtObject + ";" ) AAdd( aLine, " " ) AAdd( aLine, " " ) @@ -1633,11 +1637,15 @@ METHOD HbQtSource:build() AAdd( aLine, " p->bNew = bNew;" ) AAdd( aLine, " p->func = hbqt_gcRelease_" + ::cQtObject + ";" ) AAdd( aLine, " p->type = HBQT_TYPE_" + ::cQtObject + ";" ) + +#ifdef __GCMARK__ if n > 0 AAdd( aLine, " p->mark = hbqt_gcMark_" + ::cQtObject + ";" ) else AAdd( aLine, " p->mark = NULL;" ) - endif + ENDIF +#endif + AAdd( aLine, "" ) #ifdef _GEN_TRACE_ AAdd( aLine, " if( bNew )" ) @@ -3297,7 +3305,7 @@ STATIC FUNCTION __TY_Method( oMtd, nArgs ) FOR EACH oArg IN oMtd:hArgs IF oArg:__enumIndex() >= oMtd:nArgQCast - IF ! ( "::" $ oArg:cCast ) .AND. ! ( oArg:cCast == "QString" ) .AND. ( Left( oArg:cCast, 1 ) == "Q" ) + IF ! ( "::" $ oArg:cCast ) .AND. ! ( oArg:cCast == "QString" ) .AND. ( Left( oArg:cCast, 1 ) == "Q" .OR. Left( oArg:cCast, 3 ) == "HBQ" ) AAdd( aIdx, oArg:__enumIndex() ) ENDIF ENDIF