From 9b71ae126956ed596c1fef135203e6e399d671db Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Fri, 26 Dec 2014 14:06:19 +0000 Subject: [PATCH] [NOTEPAD] Fix check mark of the status bar menu item. Fix is based on mudheads patch. CORE-8297 #resolve svn path=/trunk/; revision=65837 --- reactos/base/applications/notepad/dialog.c | 26 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/reactos/base/applications/notepad/dialog.c b/reactos/base/applications/notepad/dialog.c index 2aea43a6b7e..281f6e43057 100644 --- a/reactos/base/applications/notepad/dialog.c +++ b/reactos/base/applications/notepad/dialog.c @@ -557,7 +557,11 @@ VOID DIALOG_FilePrint(VOID) /* Let commdlg manage copy settings */ printer.nCopies = (WORD)PD_USEDEVMODECOPIES; - if (!PrintDlg(&printer)) return; + if (!PrintDlg(&printer)) + { + DeleteObject(font); + return; + } assert(printer.hDC != 0); @@ -568,7 +572,11 @@ VOID DIALOG_FilePrint(VOID) di.lpszDatatype = NULL; di.fwType = 0; - if (StartDoc(printer.hDC, &di) <= 0) return; + if (StartDoc(printer.hDC, &di) <= 0) + { + DeleteObject(font); + return; + } /* Get the page dimensions in pixels. */ cWidthPels = GetDeviceCaps(printer.hDC, HORZRES); @@ -579,6 +587,8 @@ VOID DIALOG_FilePrint(VOID) pTemp = HeapAlloc(GetProcessHeap(), 0, size * sizeof(TCHAR)); if (!pTemp) { + EndDoc(printer.hDC); + DeleteObject(font); ShowLastError(); return; } @@ -605,6 +615,11 @@ VOID DIALOG_FilePrint(VOID) if (StartPage(printer.hDC) <= 0) { static const TCHAR failed[] = _T("StartPage failed"); static const TCHAR error[] = _T("Print Error"); + SelectObject(printer.hDC, old_font); + EndDoc(printer.hDC); + DeleteDC(printer.hDC); + HeapFree(GetProcessHeap(), 0, pTemp); + DeleteObject(font); MessageBox(Globals.hMainWnd, failed, error, MB_ICONEXCLAMATION); return; } @@ -644,9 +659,12 @@ VOID DIALOG_FilePrint(VOID) } while (i