6cc95f05a29cc6cf3ab47682420918f395f23f27
* contrib/hbqt/hbmk2_qt.hb
! Changed: hb_itemReturn() => hb_itemReturnRelease() to honor
Harbour variable scoping protocol. We need another method to
keep it alive inside new methodology.
+ contrib/hbqt/qtcore/hbqt_destroyer.cpp
+ contrib/hbqt/qtcore/hbqt_destroyer.h
+ Contains: HBQDestroyer() a generic class whose sole purpose
is to catch "destroyed()" signal of any QObject and then
forward it to new engine to delete harbour object.
* contrib/hbqt/qtcore/hbqt_bind.cpp
+ Added: "destroyed()" signal on QObject() derived classes.
* contrib/hbqt/qtcore/hbqt_misc.prg
+ Added: #define __HBQT_REVAMP__ then commented out.
Activated: destructor guarded against above define.
* contrib/hbqt/qtcore/hbqtcore.hbm
+ Added: new sources.
; NOTE: this implementation prevents double freeing of Qt objects
while keeping Harbour variable's scope protocol intact. So
if Qt deletes an object, Harbour object is also cleared
automatically. The same applies if Harbour variable goes
out of scope, Qt object is deleted, which is safe, because
Qt allows it.
Now no GPF on exit on any demo, including hbIDE, with
__HBQT_REVAMP__ enabled.
Description
Harbour Core — Reference source for Five development
Languages
C
80.3%
xBase
17.8%
Makefile
0.6%
C++
0.4%
Harbour
0.4%
Other
0.3%