This looks good, thank you. I'll soon add C++ mem allocation overload to hbmk2, so we better can test leaks.
There still remain some TOFIX-es in code: - Returning raw pointer of GC collected objects: This might cause problems later, because this means that a reference is stored somewhere in caller code, and this reference isn't registered, so memory can get freed anytime, causing GPF. See: hbqt_gcpointer() - Storing GC collected object reference in EVENTS. Same as the previous one. See: QT_EVENTS_CONNECT() - Current solution to convert .prg level objects to C pointer is solved with a hack. This isn't good, as it unnecessarily slows down code and is error prone. See: hbqt_ptr(), and parameter converter loop. - Low level dealing with retrieval of pointers, still doesn't throw RTE, but simply returns NULL, which causes GPF later. See: hbqt_gcpointer() It difficult to judge if any of these will currently cause problems in real life, but until they are present in code, we can't be sure about it, so they are time bombs, waiting to explode. [ NOTE: hbide still may GPFs, so HBQT isn't clean yet. ] Higher level problem: - demoxbp in -mt mode: The second dialog doesn't work properly. (already reported) Brgds, Viktor On 2010 Jan 5, at 13:24, Bisz István wrote: > Hi, > > After the latest commits, I successfully (crash-free) tested the Qt - hbqt, > demoqt, demoxbp and hbide. The scope of these test cases are just focusing on > the different platforms and development environments, without functional > tests. > The test was executed on Vista SP2 and Fedora 12 with the latest updates > executed. > The good news is that now the MinGW with GCC 4.4.1 Windows builds and MinGW > with GCC 4.4.2 linux cross builds are crash free, the delete operators are > executed smoothly. > > The following combinations are tested. > 1. Qt 4.5.3 for MinGW > (http://get.qt.nokia.com/qt/source/qt-win-opensource-4.5.3-mingw.exe) > habour, hbqt, demoqt, demoxbp and hbide built with > http://sunet.dl.sourceforge.net/project/tdm-gcc/TDM-MinGW%20Installer/1.908.0/tdm-mingw-1.908.0-4.4.1-2.exe > with SJLJ rewinding. > 2. Qt 4.6.0 for MinGW > (http://get.qt.nokia.com/qt/source/qt-win-opensource-4.6.0-mingw.exe) > habour, hbqt, demoqt, demoxbp and hbide built with > http://sunet.dl.sourceforge.net/project/tdm-gcc/TDM-MinGW%20Installer/1.908.0/tdm-mingw-1.908.0-4.4.1-2.exe > with Dwarf-2 rewinding. > 3. Qt 4.6.0 for vs2008 > (http://get.qt.nokia.com/qt/source/qt-win-opensource-4.6.0-vs2008.exe) > habour, hbqt, demoqt, demoxbp and hbide built with VS2008 > 4. Qt 4.5.3 Fedora 12 package > habour, hbqt, demoqt, demoxbp and hbide built with Fedora12 GCC4.4.3 > 5. Qt 4.5.3 for MinGW > (http://get.qt.nokia.com/qt/source/qt-win-opensource-4.5.3-mingw.exe) > 6. habour, hbqt, demoqt, demoxbp and hbide cross-built with Fedora 12 > MinGW with GCC 4.4.2 > > Pritpal, could you please change the release method setting at the beginning > of the hbide and demoxbp to: > > //HBQT_SET_RELEASE_METHOD( HBQT_RELEASE_WITH_DESTRUTOR ) // > Exits cleanly > HBQT_SET_RELEASE_METHOD( HBQT_RELEASE_WITH_DELETE ) > // Exits cleanly > //HBQT_SET_RELEASE_METHOD( HBQT_RELEASE_WITH_DELETE_LATER ) // Exits > cleanly > > I am requesting in this way, to avoid undesired interferences with the same > prg-s updates. Thank you. > Note: The demoqt already works with this release method activated. > > Best regards, > István > > _______________________________________________ > Harbour mailing list (attachment size limit: 40KB) > [email protected] > http://lists.harbour-project.org/mailman/listinfo/harbour _______________________________________________ Harbour mailing list (attachment size limit: 40KB) [email protected] http://lists.harbour-project.org/mailman/listinfo/harbour
