Commit 96538846 authored by Huw Davies's avatar Huw Davies Committed by Alexandre Julliard

wordpad: Don't quit if the user cancels the save-as dialog when being prompted to save changes.

parent 43cffa08
...@@ -835,7 +835,7 @@ static void ShowWriteError(DWORD Code) ...@@ -835,7 +835,7 @@ static void ShowWriteError(DWORD Code)
MessageBoxW(hMainWnd, Message, wszAppTitle, MB_ICONEXCLAMATION | MB_OK); MessageBoxW(hMainWnd, Message, wszAppTitle, MB_ICONEXCLAMATION | MB_OK);
} }
static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format) static BOOL DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format)
{ {
HANDLE hFile; HANDLE hFile;
EDITSTREAM stream; EDITSTREAM stream;
...@@ -847,7 +847,7 @@ static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format) ...@@ -847,7 +847,7 @@ static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format)
if(hFile == INVALID_HANDLE_VALUE) if(hFile == INVALID_HANDLE_VALUE)
{ {
ShowWriteError(GetLastError()); ShowWriteError(GetLastError());
return; return FALSE;
} }
if(format == (SF_TEXT | SF_UNICODE)) if(format == (SF_TEXT | SF_UNICODE))
...@@ -859,7 +859,7 @@ static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format) ...@@ -859,7 +859,7 @@ static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format)
if(writeOut != sizeof(unicode)) if(writeOut != sizeof(unicode))
{ {
CloseHandle(hFile); CloseHandle(hFile);
return; return FALSE;
} }
} }
...@@ -879,16 +879,18 @@ static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format) ...@@ -879,16 +879,18 @@ static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format)
gt.codepage = 1200; gt.codepage = 1200;
if(SendMessageW(hEditorWnd, EM_GETTEXTLENGTHEX, (WPARAM)&gt, 0)) if(SendMessageW(hEditorWnd, EM_GETTEXTLENGTHEX, (WPARAM)&gt, 0))
return; return FALSE;
} }
lstrcpyW(wszFileName, wszSaveFileName); lstrcpyW(wszFileName, wszSaveFileName);
set_caption(wszFileName); set_caption(wszFileName);
SendMessageW(hEditorWnd, EM_SETMODIFY, FALSE, 0); SendMessageW(hEditorWnd, EM_SETMODIFY, FALSE, 0);
set_fileformat(format); set_fileformat(format);
return TRUE;
} }
static void DialogSaveFile(void) static BOOL DialogSaveFile(void)
{ {
OPENFILENAMEW sfn; OPENFILENAMEW sfn;
...@@ -912,19 +914,11 @@ static void DialogSaveFile(void) ...@@ -912,19 +914,11 @@ static void DialogSaveFile(void)
{ {
if(MessageBoxWithResStringW(hMainWnd, MAKEINTRESOURCEW(STRING_SAVE_LOSEFORMATTING), if(MessageBoxWithResStringW(hMainWnd, MAKEINTRESOURCEW(STRING_SAVE_LOSEFORMATTING),
wszAppTitle, MB_YESNO | MB_ICONEXCLAMATION) != IDYES) wszAppTitle, MB_YESNO | MB_ICONEXCLAMATION) != IDYES)
{
continue; continue;
} else
{
DoSaveFile(sfn.lpstrFile, fileformat_flags(sfn.nFilterIndex-1));
break;
}
} else
{
DoSaveFile(sfn.lpstrFile, fileformat_flags(sfn.nFilterIndex-1));
break;
} }
return DoSaveFile(sfn.lpstrFile, fileformat_flags(sfn.nFilterIndex-1));
} }
return FALSE;
} }
static BOOL prompt_save_changes(void) static BOOL prompt_save_changes(void)
...@@ -971,10 +965,8 @@ static BOOL prompt_save_changes(void) ...@@ -971,10 +965,8 @@ static BOOL prompt_save_changes(void)
case IDYES: case IDYES:
if(wszFileName[0]) if(wszFileName[0])
DoSaveFile(wszFileName, fileFormat); return DoSaveFile(wszFileName, fileFormat);
else return DialogSaveFile();
DialogSaveFile();
return TRUE;
default: default:
return FALSE; return FALSE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment