[commit] r2104 - trunk/GME/Parser

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Wed Nov 14 15:38:22 CST 2012


Author: ksmyth
Date: Wed Nov 14 15:38:21 2012
New Revision: 2104

Log:
Catch com_errors in ParseFCOs in addition to ParserProject. Fixes CrashRpt c51a3b3b-981d-4592-81f9-eb3c324bc101, regression from f3e89caf

Modified:
   trunk/GME/Parser/GenParser.cpp
   trunk/GME/Parser/MgaParser.cpp

Modified: trunk/GME/Parser/GenParser.cpp
==============================================================================
--- trunk/GME/Parser/GenParser.cpp	Wed Nov  7 10:28:28 2012	(r2103)
+++ trunk/GME/Parser/GenParser.cpp	Wed Nov 14 15:38:21 2012	(r2104)
@@ -276,6 +276,7 @@
 		if (e.Description() != _bstr_t())
 		{
 			errorinfo = (str + static_cast<const TCHAR*>(e.Description())).c_str();
+			throw_com_error(e.Error(), errorinfo);
 		}
 		throw hresult_exception(e.Error());
 	}

Modified: trunk/GME/Parser/MgaParser.cpp
==============================================================================
--- trunk/GME/Parser/MgaParser.cpp	Wed Nov  7 10:28:28 2012	(r2103)
+++ trunk/GME/Parser/MgaParser.cpp	Wed Nov 14 15:38:21 2012	(r2104)
@@ -153,6 +153,17 @@
 
 		return e.hr;
 	}
+	catch(_com_error &e)
+	{
+		CloseAll();
+		clear_GME( m_GME);
+
+		ASSERT( FAILED(e.hr) );
+		if (e.Description() != _bstr_t())
+			SetErrorInfo(e.Description());
+
+		return e.Error();
+	}
 	return S_OK;
 }
 


More information about the gme-commit mailing list