[commit] r1255 - in trunk/GME: Console Gme Mga

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Wed Apr 6 16:07:41 CDT 2011


Author: ksmyth
Date: Wed Apr  6 16:07:40 2011
New Revision: 1255

Log:
Fix memory leaks

Modified:
   trunk/GME/Console/ScriptEdit.cpp
   trunk/GME/Console/ScriptHost.cpp
   trunk/GME/Console/ScriptHost.h
   trunk/GME/Gme/GMEOLEApp.cpp
   trunk/GME/Gme/GMEView.cpp
   trunk/GME/Mga/MgaFCO.h

Modified: trunk/GME/Console/ScriptEdit.cpp
==============================================================================
--- trunk/GME/Console/ScriptEdit.cpp	Wed Apr  6 16:01:44 2011	(r1254)
+++ trunk/GME/Console/ScriptEdit.cpp	Wed Apr  6 16:07:40 2011	(r1255)
@@ -26,7 +26,7 @@
 
 CScriptEdit::~CScriptEdit()
 {
-
+	m_host->InitEngine(NULL, NULL);
 }
 
 bool CScriptEdit::Init(CConsoleCtrl *cons)

Modified: trunk/GME/Console/ScriptHost.cpp
==============================================================================
--- trunk/GME/Console/ScriptHost.cpp	Wed Apr  6 16:01:44 2011	(r1254)
+++ trunk/GME/Console/ScriptHost.cpp	Wed Apr  6 16:07:40 2011	(r1255)
@@ -13,6 +13,11 @@
 	// register app and project 
 	try
 	{
+		if (console == NULL) {
+			m_iscript = NULL;
+			m_iscriptParse = NULL;
+			return S_OK;
+		}
 		m_console = (CConsoleCtrl*)console;
 		_bstr_t newprogid(engineProgid);
 		if (m_enginePID == newprogid)

Modified: trunk/GME/Console/ScriptHost.h
==============================================================================
--- trunk/GME/Console/ScriptHost.h	Wed Apr  6 16:01:44 2011	(r1254)
+++ trunk/GME/Console/ScriptHost.h	Wed Apr  6 16:07:40 2011	(r1255)
@@ -30,6 +30,9 @@
 		, m_enginePID("")
 	{
 	}
+	virtual ~CScriptHost()
+	{
+	}
 
 DECLARE_REGISTRY_RESOURCEID(IDR_SCRIPTHOST)
 

Modified: trunk/GME/Gme/GMEOLEApp.cpp
==============================================================================
--- trunk/GME/Gme/GMEOLEApp.cpp	Wed Apr  6 16:01:44 2011	(r1254)
+++ trunk/GME/Gme/GMEOLEApp.cpp	Wed Apr  6 16:07:40 2011	(r1255)
@@ -892,6 +892,7 @@
 	{
 		LPDISPATCH lpDisp = pThis->GetOleIt();
 		lpDisp->QueryInterface(IID_IGMEOLEIt, (LPVOID*)model);
+		lpDisp->Release();
 		return NOERROR;
 	}
 	CATCH_ALL_DUAL

Modified: trunk/GME/Gme/GMEView.cpp
==============================================================================
--- trunk/GME/Gme/GMEView.cpp	Wed Apr  6 16:01:44 2011	(r1254)
+++ trunk/GME/Gme/GMEView.cpp	Wed Apr  6 16:07:40 2011	(r1255)
@@ -8445,8 +8445,8 @@
 			selfco = selected.GetNext(pos)->mgaFco;
 		}
 		BeginTransaction(TRANSACTION_READ_ONLY);
-		BSTR IDObj = NULL;
-		selfco->get_ID(&IDObj);
+		_bstr_t IDObj;
+		selfco->get_ID(IDObj.GetAddress());
 		CommitTransaction();
 		CGMEBrowser::theInstance->FocusItem(IDObj);
 	}

Modified: trunk/GME/Mga/MgaFCO.h
==============================================================================
--- trunk/GME/Mga/MgaFCO.h	Wed Apr  6 16:01:44 2011	(r1254)
+++ trunk/GME/Mga/MgaFCO.h	Wed Apr  6 16:07:40 2011	(r1255)
@@ -350,7 +350,7 @@
 
 	typedef stdext::hash_map<CMgaTerritory*, CMgaAtom*, terr_hashfunc> pubfcohash;
 	pubfcohash pubfcos;
-	CMgaProject *mgaproject;
+	CComPtr<CMgaProject> mgaproject;
 	bool simpleconn();
 	partpool ppool;
 	attrpool apool;


More information about the gme-commit mailing list