[PATCH] Notepad: Cancel closing window by cancelling "Save As" dialog box

Hirofumi Katayama katayama.hirofumi.mz at gmail.com
Mon Sep 8 22:44:36 CDT 2008


---
 programs/notepad/dialog.c |   12 +++++++-----
 programs/notepad/dialog.h |    4 ++--
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/programs/notepad/dialog.c b/programs/notepad/dialog.c
index 716abd8..0595f69 100644
--- a/programs/notepad/dialog.c
+++ b/programs/notepad/dialog.c
@@ -182,8 +182,7 @@ BOOL DoCloseFile(void)
         /* prompt user to save changes */
         nResult = AlertFileNotSaved(Globals.szFileName);
         switch (nResult) {
-            case IDYES:     DIALOG_FileSave();
-                            break;
+            case IDYES:     return DIALOG_FileSave();

             case IDNO:      break;

@@ -316,15 +315,16 @@ VOID DIALOG_FileOpen(VOID)
 }


-VOID DIALOG_FileSave(VOID)
+BOOL DIALOG_FileSave(VOID)
 {
     if (Globals.szFileName[0] == '\0')
-        DIALOG_FileSaveAs();
+        return DIALOG_FileSaveAs();
     else
         DoSaveFile();
+    return TRUE;
 }

-VOID DIALOG_FileSaveAs(VOID)
+BOOL DIALOG_FileSaveAs(VOID)
 {
     OPENFILENAME saveas;
     WCHAR szPath[MAX_PATH];
@@ -352,7 +352,9 @@ VOID DIALOG_FileSaveAs(VOID)
         SetFileName(szPath);
         UpdateWindowCaption();
         DoSaveFile();
+        return TRUE;
     }
+    return FALSE;
 }

 typedef struct {
diff --git a/programs/notepad/dialog.h b/programs/notepad/dialog.h
index b141de7..d780991 100644
--- a/programs/notepad/dialog.h
+++ b/programs/notepad/dialog.h
@@ -20,8 +20,8 @@

 VOID DIALOG_FileNew(VOID);
 VOID DIALOG_FileOpen(VOID);
-VOID DIALOG_FileSave(VOID);
-VOID DIALOG_FileSaveAs(VOID);
+BOOL DIALOG_FileSave(VOID);
+BOOL DIALOG_FileSaveAs(VOID);
 VOID DIALOG_FilePrint(VOID);
 VOID DIALOG_FilePageSetup(VOID);
 VOID DIALOG_FilePrinterSetup(VOID);
-- 
1.6.0



More information about the wine-patches mailing list