2006-03-19 Kimmo
PATCH: [ 1449892 ] Add compare method to configlog
Src: ConfigLog.cpp ConfigLog.h MainFrm.cpp
+ PATCH: [ 1453252 ] Fix closing filecompare after error
+ Src: MainFrm.cpp MergeDoc.cpp
2006-03-17 Tim
PATCH: [ 1449571 ] Add '*.pm' and '*.plx' to Perl highlighter
}
}
+ // Note that OpenDocs() takes care of closing compare window when needed.
OPENRESULTS_TYPE openResults = pMergeDoc->OpenDocs(filelocLeft, filelocRight,
bROLeft, bRORight);
else
MDINext();
}
- else
- {
- // Close file compare when loading files fails
- CWnd* pWnd = pMergeDoc->GetParentFrame();
- pWnd->DestroyWindow();
- }
return openResults;
}
}
/**
- * @brief Loads files and does initial rescan
+ * @brief Loads files and does initial rescan.
* @param filelocLeft [in] File to open to left side (path & encoding info)
* @param fileLocRight [in] File to open to right side (path & encoding info)
* @param bROLeft [in] Is left file read-only
* @todo Options are still read from CMainFrame, this will change
* @sa CMainFrame::ShowMergeDoc()
*/
-OPENRESULTS_TYPE
-CMergeDoc::OpenDocs(FileLocation filelocLeft, FileLocation filelocRight,
+OPENRESULTS_TYPE CMergeDoc::OpenDocs(FileLocation filelocLeft, FileLocation filelocRight,
BOOL bROLeft, BOOL bRORight)
{
BOOL bBinary = FALSE;
// Bail out if either side failed
if (!FileLoadResult::IsOk(nLeftSuccess) || !FileLoadResult::IsOk(nRightSuccess))
{
+ OPENRESULTS_TYPE retVal = OPENRESULTS_FAILED_MISC;
if (FileLoadResult::IsBinary(nLeftSuccess) || FileLoadResult::IsBinary(nRightSuccess))
{
CompareBinaries(sLeftFile, sRightFile, nLeftSuccess, nRightSuccess);
- return OPENRESULTS_FAILED_BINARY;
+ retVal = OPENRESULTS_FAILED_BINARY;
}
- return OPENRESULTS_FAILED_MISC;
+ CChildFrame *pFrame = GetParentFrame();
+ if (pFrame)
+ {
+ // Use verify macro to trap possible error in debug.
+ VERIFY(pFrame->DestroyWindow());
+ }
+ return retVal;
}
// Warn user if file load was lossy (bad encoding)