From f8c7bd6898ec15bb8420b7c7a2683759b67ddcd7 Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Wed, 1 Mar 2023 20:17:27 +0900 Subject: [PATCH] [NOTEPAD] Don't reset Find/Replace if lpstrFindWhat is set (#5104) We don't want to reset the status of the checkboxes even if the Find/Replace dialog was closed. If lpstrFindWhat is set, do not reset the Find/Replace settings at DIALOG_SearchDialog. CORE-18837 --- base/applications/notepad/dialog.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/base/applications/notepad/dialog.c b/base/applications/notepad/dialog.c index 72bb17a88dd..0d4272b1bb5 100644 --- a/base/applications/notepad/dialog.c +++ b/base/applications/notepad/dialog.c @@ -1048,15 +1048,17 @@ static VOID DIALOG_SearchDialog(FINDPROC pfnProc) return; } - ZeroMemory(&Globals.find, sizeof(Globals.find)); - Globals.find.lStructSize = sizeof(Globals.find); - Globals.find.hwndOwner = Globals.hMainWnd; - Globals.find.hInstance = Globals.hInstance; - Globals.find.lpstrFindWhat = Globals.szFindText; - Globals.find.wFindWhatLen = ARRAY_SIZE(Globals.szFindText); - Globals.find.lpstrReplaceWith = Globals.szReplaceText; - Globals.find.wReplaceWithLen = ARRAY_SIZE(Globals.szReplaceText); - Globals.find.Flags = FR_DOWN; + if (!Globals.find.lpstrFindWhat) + { + ZeroMemory(&Globals.find, sizeof(Globals.find)); + Globals.find.lStructSize = sizeof(Globals.find); + Globals.find.hwndOwner = Globals.hMainWnd; + Globals.find.lpstrFindWhat = Globals.szFindText; + Globals.find.wFindWhatLen = ARRAY_SIZE(Globals.szFindText); + Globals.find.lpstrReplaceWith = Globals.szReplaceText; + Globals.find.wReplaceWithLen = ARRAY_SIZE(Globals.szReplaceText); + Globals.find.Flags = FR_DOWN; + } /* We only need to create the modal FindReplace dialog which will */ /* notify us of incoming events using hMainWnd Window Messages */