[commit] r1476 - trunk/GME/Mga
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Tue Aug 23 16:50:38 CDT 2011
Author: ksmyth
Date: Tue Aug 23 16:50:37 2011
New Revision: 1476
Log:
Fewer exceptions
Modified:
trunk/GME/Mga/MgaProject.cpp
Modified: trunk/GME/Mga/MgaProject.cpp
==============================================================================
--- trunk/GME/Mga/MgaProject.cpp Tue Aug 23 14:38:26 2011 (r1475)
+++ trunk/GME/Mga/MgaProject.cpp Tue Aug 23 16:50:37 2011 (r1476)
@@ -314,6 +314,7 @@
CComPtr<IMgaFolder> rf;
COMTHROW(get_RootFolder(&rf));
COMTHROW(ObjFor(rf)->CheckTree());
+ rf = 0;
COMTHROW(CommitTransaction());
} catch(hresult_exception &e) {
lm->Flush();
@@ -427,6 +428,7 @@
CComPtr<IMgaFolder> rf;
COMTHROW(get_RootFolder(&rf));
COMTHROW(ObjFor(rf)->CheckTree());
+ rf = 0;
COMTHROW(CommitTransaction());
} catch(hresult_exception &e) {
lm->Flush();
@@ -1306,11 +1308,14 @@
if(!t->coreterr) COMTHROW(E_MGA_TARGET_DESTROYED);
read_only = (mode == TRANSACTION_READ_ONLY);
non_nestable = (mode == TRANSACTION_NON_NESTED);
- COMTHROW(dataproject->BeginTransaction(read_only? TRANSTYPE_READFIRST : TRANSTYPE_FIRST));
+ // this call fails if the project has been closed (maybe we're being called by an FCO destructor)
+ HRESULT hr = dataproject->BeginTransaction(read_only? TRANSTYPE_READFIRST : TRANSTYPE_FIRST);
+ if (FAILED(hr))
+ COMRETURN(hr);
checkofftemporary = false;
in_nested = false;
must_abort = false;
- HRESULT hr = dataproject->PushTerritory(t->coreterr);
+ hr = dataproject->PushTerritory(t->coreterr);
if (FAILED(hr))
COMRETURN(hr);
baseterr = activeterr = t;
More information about the gme-commit
mailing list