diff --git a/src/win-config_sel.c b/src/win-config_sel.c index 9e3ef03..5ce9427 100644 --- a/src/win-config_sel.c +++ b/src/win-config_sel.c @@ -102,7 +102,7 @@ static BOOL CALLBACK config_selection_dlgproc(HWND hdlg, UINT message, WPARAM wP strcat(s, "configs\\"); pclog("Dir %s\n", s); - if (!getsfile(hdlg, "Configuration (*.CFG)\0*.CFG\0All files (*.*)\0*.*\0", "", s)) + if (!getsfile(hdlg, "Configuration (*.CFG)\0*.CFG\0All files (*.*)\0*.*\0", "", s, "cfg")) { config_open(hdlg); diff --git a/src/win-hdconf.c b/src/win-hdconf.c index 184b370..d53e86c 100644 --- a/src/win-hdconf.c +++ b/src/win-hdconf.c @@ -205,7 +205,7 @@ static BOOL CALLBACK hdnew_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPARA return TRUE; case IDC_CFILE: - if (!getsfile(hdlg, "Hard disc image (*.IMG)\0*.IMG\0All files (*.*)\0*.*\0", "", NULL)) + if (!getsfile(hdlg, "Hard disc image (*.IMG)\0*.IMG\0All files (*.*)\0*.*\0", "", NULL, "img")) { h = GetDlgItem(hdlg, IDC_EDITC); SendMessage(h, WM_SETTEXT, 0, (LPARAM)openfilestring); diff --git a/src/win.c b/src/win.c index e839c5c..55e4bb7 100644 --- a/src/win.c +++ b/src/win.c @@ -818,7 +818,7 @@ int getfile(HWND hwnd, char *f, char *fn) return 1; } -int getsfile(HWND hwnd, char *f, char *fn, char *dir) +int getsfile(HWND hwnd, char *f, char *fn, char *dir, char *ext) { OPENFILENAME ofn; // common dialog box structure BOOL r; @@ -842,6 +842,7 @@ int getsfile(HWND hwnd, char *f, char *fn, char *dir) ofn.nMaxFileTitle = 0; ofn.lpstrInitialDir = dir; ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; + ofn.lpstrDefExt = ext; // Display the Open dialog box. diff --git a/src/win.h b/src/win.h index ed12875..2675995 100644 --- a/src/win.h +++ b/src/win.h @@ -34,7 +34,7 @@ void joystickconfig_open(HWND hwnd, int joy_nr, int type); extern char openfilestring[260]; int getfile(HWND hwnd, char *f, char *fn); -int getsfile(HWND hwnd, char *f, char *fn, char *dir); +int getsfile(HWND hwnd, char *f, char *fn, char *dir, char *ext); extern int pause;