2011-03-21 18:36 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)

* contrib/hbide/idebrowse.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idesources.prg
    ! Connect/disconnect per current implementation.

  * contrib/hbide/idemain.prg
    ! Put to more stress test at exit by destroying all objects 
      explictly.
This commit is contained in:
Pritpal Bedi
2011-03-22 01:43:33 +00:00
parent 92309f9494
commit e42d4c9393
7 changed files with 84 additions and 68 deletions

View File

@@ -16,6 +16,18 @@
The license applies to all entries newer than 2009-04-28.
*/
2011-03-21 18:36 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesources.prg
! Connect/disconnect per current implementation.
* contrib/hbide/idemain.prg
! Put to more stress test at exit by destroying all objects
explictly.
2011-03-21 18:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/THbQtUI.prg
! Destructor more rationalized.

View File

@@ -1844,7 +1844,7 @@ METHOD IdeBrowse:buildMdiWindow()
::nID := ++nID
::qMdi := QMdiSubWindow( ::oDlg:oWidget )
::qMdi := QMdiSubWindow()
//
::qMdi:setWidget( ::oWnd:oWidget )
::oPanel:qWidget:addSubWindow( ::qMdi )

View File

@@ -179,47 +179,46 @@ METHOD IdeDocks:destroy()
::oIde:oProjRoot := NIL
::oIde:oOpenedSources := NIL
::disconnect( ::oOutputResult:oWidget , "copyAvailable(bool)" )
::oOutputResult:oWidget : disconnect( "copyAvailable(bool)" )
::oEnvironDock:oWidget : disconnect( "visibilityChanged(bool)" )
::oPropertiesDock:oWidget : disconnect( "visibilityChanged(bool)" )
::oThemesDock:oWidget : disconnect( "visibilityChanged(bool)" )
::oDocViewDock:oWidget : disconnect( "visibilityChanged(bool)" )
::oDocWriteDock:oWidget : disconnect( "visibilityChanged(bool)" )
::oFindDock:oWidget : disconnect( "visibilityChanged(bool)" )
::oFunctionsDock:oWidget : disconnect( "visibilityChanged(bool)" )
::oSkeltnDock:oWidget : disconnect( "visibilityChanged(bool)" )
::oHelpDock:oWidget : disconnect( "visibilityChanged(bool)" )
::oFuncDock:oWidget : disconnect( "visibilityChanged(bool)" )
::disconnect( ::oEnvironDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oPropertiesDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oThemesDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oDocViewDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oDocWriteDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oFindDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oFunctionsDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oSkeltnDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oHelpDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oFuncDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oSourceThumbnailDock:oWidget, "visibilityChanged(bool)" )
::disconnect( ::oQScintillaDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oReportsManagerDock:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oFormatDock:oWidget , "visibilityChanged(bool)" )
::oSourceThumbnailDock:oWidget: disconnect( "visibilityChanged(bool)" )
::oQScintillaDock:oWidget : disconnect( "visibilityChanged(bool)" )
::oReportsManagerDock:oWidget : disconnect( "visibilityChanged(bool)" )
::oFormatDock:oWidget : disconnect( "visibilityChanged(bool)" )
#if 0 /* Not Implemented */
::disconnect( ::oDockPT:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oDockED:oWidget , "visibilityChanged(bool)" )
::disconnect( ::oDockB2:oWidget , "visibilityChanged(bool)" )
::oDockPT:oWidget : disconnect( "visibilityChanged(bool)" )
::oDockED:oWidget : disconnect( "visibilityChanged(bool)" )
::oDockB2:oWidget : disconnect( "visibilityChanged(bool)" )
#endif
IF !empty( ::oSys )
::disconnect( ::oSys , "activated(QSystemTrayIcon::ActivationReason)" )
::disconnect( ::qAct1 , "triggered(bool)" )
::disconnect( ::qAct2 , "triggered(bool)" )
::oSys : disconnect( "activated(QSystemTrayIcon::ActivationReason)" )
::qAct1 : disconnect( "triggered(bool)" )
::qAct2 : disconnect( "triggered(bool)" )
ENDIF
FOR EACH qTBtn IN ::aPanels
::disconnect( qTBtn, "clicked()" )
qTBtn:disconnect( "clicked()" )
qTBtn := NIL
NEXT
FOR EACH qTBtn IN ::aMdiBtns
::disconnect( qTBtn, "clicked()" )
qTBtn:disconnect( "clicked()" )
qTBtn := NIL
NEXT
FOR EACH qTBtn IN ::oIde:aMarkTBtns
::disconnect( qTBtn, "clicked()" )
qTBtn:disconnect( "clicked()" )
NEXT
RETURN Self
@@ -1103,7 +1102,7 @@ METHOD IdeDocks:buildViewWidget( cView )
LOCAL oFrame, qTBtnClose, qDrop, qMdi, n
IF ::oIde:lCurEditsMdi
qMdi := QMdiSubWindow( ::oStackedWidget:oWidget )
qMdi := QMdiSubWindow()
qMdi:setWindowTitle( cView )
qMdi:setObjectName( cView )
IF cView == "Stats"

View File

@@ -233,12 +233,10 @@ METHOD IdeHarbourHelp:show()
METHOD IdeHarbourHelp:destroy()
IF !empty( ::oUI )
::disconnect( ::oUI:q_treeDoc , "itemSelectionChanged()" )
::disconnect( ::oUI:q_treeCategory, "itemSelectionChanged()" )
IF ! empty( ::oUI )
::oUI:q_treeDoc:disconnect( "itemSelectionChanged()" )
::oUI:q_treeCategory:disconnect( "itemSelectionChanged()" )
::clear()
::oUI:destroy()
ENDIF

View File

@@ -138,6 +138,7 @@ PROCEDURE Main( ... )
oResource := QResource()
oResource:registerResource_1( hbqtres_HbIde(), ":/resource" )
//oResource:registerResource( HBQString( hbqtres_HbIde() ), ":/resource" )
oIde := HbIde():new( hb_aParams() ):create()
oIde:destroy()
@@ -366,10 +367,45 @@ CLASS HbIde
METHOD HbIde:destroy()
/* Very important - destroy resources */
HB_TRACE( HB_TR_ALWAYS, "======================================================" )
HB_TRACE( HB_TR_ALWAYS, "Before ::oDlg:destroy()", memory( 1001 ) )
HB_TRACE( HB_TR_ALWAYS, " " )
::oSBar := NIL
::oMenu := NIL
::oTBar := NIL
::oSetup:destroy()
::oUpdn:destroy()
::oHL:destroy()
::oDK:destroy()
::oHM:destroy()
::oSK:destroy()
::oFR:destroy()
::oFF:destroy()
::oSearchReplace:destroy()
::oFN:destroy()
::oTM:destroy()
::oSC:destroy()
::oDW:destroy()
::oEV:destroy()
::oTH:destroy()
::oPM:destroy()
//::oEM:destroy() /* Almost GPF's */
::oAC:destroy()
::oDlg:destroy()
::oFont := NIL
HB_TRACE( HB_TR_ALWAYS, " " )
HB_TRACE( HB_TR_ALWAYS, "After ::oDlg:destroy()", memory( 1001 ) )
HB_TRACE( HB_TR_ALWAYS, "======================================================" )
RETURN self
/*----------------------------------------------------------------------*/
@@ -569,6 +605,8 @@ METHOD HbIde:create( aParams )
::showApplicationCursor()
qSplash:close()
qSplash := NIL
qPixMap := NIL
/* Load tags last tagged projects */
::oFN:loadTags( ::oINI:aTaggedProjects )
@@ -614,41 +652,6 @@ METHOD HbIde:create( aParams )
DbCloseAll()
#if 0
/* Very important - destroy resources */
HB_TRACE( HB_TR_DEBUG, "======================================================" )
HB_TRACE( HB_TR_DEBUG, "Before ::oDlg:destroy()", memory( 1001 ) )
HB_TRACE( HB_TR_DEBUG, " " )
::oSetup:destroy()
::oUpdn:destroy()
::oTM:destroy()
::oSK:destroy()
::oSC:destroy()
::oDW:destroy()
::oEV:destroy()
::oFN:destroy()
::oHM:destroy()
::oHL:destroy()
::oTH:destroy()
::oFF:destroy()
::oFR:destroy()
::oPM:destroy()
::oEM:destroy()
::oDK:destroy()
::oSearchReplace:destroy()
::oDlg:destroy()
::oAC:destroy()
::oFont := NIL
qSplash := NIL
HB_TRACE( HB_TR_DEBUG, " " )
HB_TRACE( HB_TR_DEBUG, "After ::oDlg:destroy()", memory( 1001 ) )
HB_TRACE( HB_TR_DEBUG, "======================================================" )
#endif
RETURN self
/*----------------------------------------------------------------------*/

View File

@@ -293,6 +293,7 @@ FUNCTION hbide_fetchAFile( oWnd, cTitle, aFlt, cDftDir, cDftSuffix )
ENDIF
cFile := oDlg:open( cDftDir, , .f. )
oDlg:destroy()
RETURN cFile
@@ -313,6 +314,7 @@ FUNCTION hbide_saveAFile( oWnd, cTitle, aFlt, cDftFile, cDftSuffix )
ENDIF
cFile := oDlg:saveAs( cDftFile, .f., .t. )
oDlg:destroy()
RETURN cFile
@@ -333,7 +335,7 @@ FUNCTION hbide_fetchADir( oWnd, cTitle, cDftDir )
oDlg:oWidget:setFileMode( 4 )
cFile := oDlg:open( cDftDir, , .f. )
oDlg:destroy()
IF hb_isChar( cFile )
//cFile := strtran( cFile, "/", hb_ps() )
RETURN cFile

View File

@@ -516,6 +516,8 @@ METHOD IdeSourcesManager:selectSource( cMode, cFile, cTitle, cDftPath )
ENDIF
oDlg:destroy()
RETURN cFile
/*----------------------------------------------------------------------*/