Hi Pritpal,
Could you please definitively switch in your development environment the
release method to HBQT_RELEASE_WITH_DELETE:
//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
In QUiLoader.cpp I changed temporarily the QT_QUILOADER_LOAD to:
/*
* QWidget * load ( QIODevice * device, QWidget * parentWidget = 0 )
*/
HB_FUNC( QT_QUILOADER_LOAD )
{
// hb_retptr( ( QWidget* ) hbqt_par_QUiLoader( 1 )->load(
hbqt_par_QIODevice( 2 ), hbqt_par_QWidget( 3 ) ) );
hb_retptrGC( hbqt_gcAllocate_QWidget( ( QWidget* ) hbqt_par_QUiLoader( 1
)->load( hbqt_par_QIODevice( 2 ), hbqt_par_QWidget( 3 ) ) ) );
}
reducing the FM statistic to:
----------------------------------------
Total memory allocated: 2383683 bytes (31688 block(s))
Warning, memory allocated but not released: 132 bytes (10 block(s))
c:\downloads\harbour\src\vm\fm.c:1143: HB_TR_ERROR Block 1 (size 4)
QT_QUILOADER(0), "7083FB01"
c:\downloads\harbour\src\vm\fm.c:1143: HB_TR_ERROR Block 2 (size 8)
QT_QUILOADER_LOAD(0), "0600000000A4CF01"
c:\downloads\harbour\src\vm\fm.c:1143: HB_TR_ERROR Block 3 (size 8)
QT_QUILOADER_LOAD(0), "07000000E0A5FB01"
c:\downloads\harbour\src\vm\fm.c:1143: HB_TR_ERROR Block 4 (size 8)
QT_QUILOADER_LOAD(0), "0800000000EFCE01"
c:\downloads\harbour\src\vm\fm.c:1143: HB_TR_ERROR Block 5 (size 8)
QT_QUILOADER_LOAD(0), "0900000030EFCE01"
c:\downloads\harbour\src\vm\fm.c:1143: HB_TR_ERROR Block 6 (size 8)
QT_QUILOADER_LOAD(0), "0A000000B029D001"
c:\downloads\harbour\src\vm\fm.c:1143: HB_TR_ERROR Block 7 (size 12)
QT_QUILOADER_LOAD(0), "020000001B00000060A3CF01"
c:\downloads\harbour\src\vm\fm.c:1143: HB_TR_ERROR Block 8 (size 12)
QT_QUILOADER_LOAD(0), "030000001D000000C0ECCE01"
c:\downloads\harbour\src\vm\fm.c:1143: HB_TR_ERROR Block 9 (size 12)
QT_QUILOADER_LOAD(0), "040000001E000000E029D001"
c:\downloads\harbour\src\vm\fm.c:1143: HB_TR_ERROR Block 10 (size 12)
QT_QUILOADER_LOAD(0), "050000001F000000F0ECCE01"
Maybe we should have here a general solution for the wrappers returning
objects, some of them are already solved with inserting their pointers to
the GC system evidence.
Best regards,
István
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour