Module: wine Branch: master Commit: 965388465d7d358a4cf08d5470485ac370c2f840 URL: http://source.winehq.org/git/wine.git/?a=commit;h=965388465d7d358a4cf08d5470...
Author: Huw Davies huw@codeweavers.com Date: Wed Apr 11 13:50:57 2012 +0100
wordpad: Don't quit if the user cancels the save-as dialog when being prompted to save changes.
---
programs/wordpad/wordpad.c | 30 +++++++++++------------------- 1 files changed, 11 insertions(+), 19 deletions(-)
diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c index f47aedd..24d956a 100644 --- a/programs/wordpad/wordpad.c +++ b/programs/wordpad/wordpad.c @@ -835,7 +835,7 @@ static void ShowWriteError(DWORD Code) MessageBoxW(hMainWnd, Message, wszAppTitle, MB_ICONEXCLAMATION | MB_OK); }
-static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format) +static BOOL DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format) { HANDLE hFile; EDITSTREAM stream; @@ -847,7 +847,7 @@ static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format) if(hFile == INVALID_HANDLE_VALUE) { ShowWriteError(GetLastError()); - return; + return FALSE; }
if(format == (SF_TEXT | SF_UNICODE)) @@ -859,7 +859,7 @@ static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format) if(writeOut != sizeof(unicode)) { CloseHandle(hFile); - return; + return FALSE; } }
@@ -879,16 +879,18 @@ static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format) gt.codepage = 1200;
if(SendMessageW(hEditorWnd, EM_GETTEXTLENGTHEX, (WPARAM)>, 0)) - return; + return FALSE; }
lstrcpyW(wszFileName, wszSaveFileName); set_caption(wszFileName); SendMessageW(hEditorWnd, EM_SETMODIFY, FALSE, 0); set_fileformat(format); + + return TRUE; }
-static void DialogSaveFile(void) +static BOOL DialogSaveFile(void) { OPENFILENAMEW sfn;
@@ -912,19 +914,11 @@ static void DialogSaveFile(void) { if(MessageBoxWithResStringW(hMainWnd, MAKEINTRESOURCEW(STRING_SAVE_LOSEFORMATTING), wszAppTitle, MB_YESNO | MB_ICONEXCLAMATION) != IDYES) - { 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) @@ -971,10 +965,8 @@ static BOOL prompt_save_changes(void)
case IDYES: if(wszFileName[0]) - DoSaveFile(wszFileName, fileFormat); - else - DialogSaveFile(); - return TRUE; + return DoSaveFile(wszFileName, fileFormat); + return DialogSaveFile();
default: return FALSE;