fix problem where replay dialog didnt survive being operated in a current directory other than BaseDirectory (since it wants to convert everything to relative paths for ease of display)

This commit is contained in:
zeromus 2008-08-18 03:54:25 +00:00
parent 2cba0fd439
commit 86754e3b21
1 changed files with 6 additions and 0 deletions

View File

@ -483,6 +483,9 @@ BOOL CALLBACK ReplayDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lP
char filename [512];
sprintf(filename, "%s%s", globBase, wfd.cFileName);
//replay system requires this to stay put.
SetCurrentDirectory(BaseDirectory.c_str());
ArchiveScanRecord asr = FCEUD_ScanArchive(filename);
if(!asr.isArchive()) {
FCEUFILE* fp = FCEU_fopen(filename,0,"rb",0);
@ -584,6 +587,9 @@ BOOL CALLBACK ReplayDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lP
{
char relative[MAX_PATH*2];
AbsoluteToRelative(relative, szFile, BaseDirectory.c_str());
//replay system requires this to stay put.
SetCurrentDirectory(BaseDirectory.c_str());
ArchiveScanRecord asr = FCEUD_ScanArchive(relative);
FCEUFILE* fp = FCEU_fopen(relative,0,"rb",0,-1,fm2ext);