Bladeren bron

clean up leaks

Bill Hoffman 23 jaren geleden
bovenliggende
commit
fdd4cf7cf4
3 gewijzigde bestanden met toevoegingen van 14 en 8 verwijderingen
  1. 0 6
      Source/MFCDialog/CMakeSetup.cpp
  2. 11 1
      Source/MFCDialog/CMakeSetupDialog.cpp
  3. 3 1
      Source/MFCDialog/CMakeSetupDialog.h

+ 0 - 6
Source/MFCDialog/CMakeSetup.cpp

@@ -5,9 +5,6 @@
 #include "CMakeSetup.h"
 #include "CMakeSetupDialog.h"
 #include "CMakeCommandLineInfo.h" 
-#include "../cmListFileCache.h"
-#include "../cmCacheManager.h"
-#include "../cmDynamicLoader.h"
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -76,9 +73,6 @@ BOOL CMakeSetup::InitInstance()
     //  dismissed with Cancel
     }
 
-  // clean up globals 
-  cmListFileCache::GetInstance()->ClearCache(); 
-  cmDynamicLoader::FlushCache();
   // Since the dialog has been closed, return FALSE so that we exit the
   //  application, rather than start the application's message pump.
   return FALSE;

+ 11 - 1
Source/MFCDialog/CMakeSetupDialog.cpp

@@ -9,10 +9,12 @@
 #include "MakeHelp.h"
 #include "PathDialog.h"
 #include "CMakeSetupDialog.h"
-#include "CMakeCommandLineInfo.h" 
+#include "CMakeCommandLineInfo.h"
+#include "../cmListFileCache.h"
 #include "../cmCacheManager.h"
 #include "../cmake.h"
 #include "../cmGlobalGenerator.h"
+#include "../cmDynamicLoader.h"
 #ifdef _DEBUG
 #define new DEBUG_NEW
 #undef THIS_FILE
@@ -167,6 +169,14 @@ CMakeSetupDialog::CMakeSetupDialog(const CMakeCommandLineInfo& cmdInfo,
   
 }
 
+CMakeSetupDialog::~CMakeSetupDialog()
+{
+  delete m_CMakeInstance;
+  // clean up globals 
+  cmListFileCache::GetInstance()->ClearCache(); 
+  cmDynamicLoader::FlushCache();
+}
+
 void CMakeSetupDialog::DoDataExchange(CDataExchange* pDX)
 {
   CDialog::DoDataExchange(pDX);

+ 3 - 1
Source/MFCDialog/CMakeSetupDialog.h

@@ -37,7 +37,9 @@ class CMakeSetupDialog : public CDialog
 // Construction
 public:
   CMakeSetupDialog(const CMakeCommandLineInfo& cmdInfo, 
-                   CWnd* pParent = NULL);       
+                   CWnd* pParent = NULL); 
+
+  ~CMakeSetupDialog();
   // return the cmake that is currently being used
   cmake *GetCMakeInstance() {
     return m_CMakeInstance; }