From b3eaa5b919e93c8d50701d4f9fa61ced04abc642 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Sat, 11 Nov 2017 10:43:25 +0100 Subject: [PATCH] + minor bugfixes --- src/Edit.c | 25 +++++++++++-------------- src/Helpers.h | 7 ++----- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/Edit.c b/src/Edit.c index 9dc55b42d..5d783a3f0 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -4380,13 +4380,12 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA case WM_INITDIALOG: { static BOOL bFirstTime = TRUE; + WCHAR tch2[FNDRPL_BUFFER] = { L'\0' }; iSaveMarkOcc = iMarkOccurrences; + EnableCmd(GetMenu(hwndMain), IDM_VIEW_MARKOCCURRENCES_ONOFF, FALSE); iMarkOccurrences = 0; - WCHAR tch2[FNDRPL_BUFFER] = { L'\0' }; - HMENU hmenu; - SetWindowLongPtr(hwnd,DWLP_USER,(LONG_PTR)lParam); lpefr = (LPEDITFINDREPLACE)lParam; @@ -4523,7 +4522,7 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA CopyMemory(lpefr,&efrSave,sizeof(EDITFINDREPLACE)); } - hmenu = GetSystemMenu(hwnd,FALSE); + HMENU hmenu = GetSystemMenu(hwnd, FALSE); GetString(SC_SAVEPOS,tch2,COUNTOF(tch2)); InsertMenu(hmenu,0,MF_BYPOSITION|MF_STRING|MF_ENABLED,SC_SAVEPOS,tch2); GetString(SC_RESETPOS,tch2,COUNTOF(tch2)); @@ -4540,15 +4539,13 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA return TRUE; case WM_DESTROY: - DeleteObject(hBrushRed); - DeleteObject(hBrushGreen); - iMarkOccurrences = iSaveMarkOcc; - iMarkOccurrencesCount = -1; // -1 ! - SendMessage(hwndEdit, SCI_SETINDICATORCURRENT, INDIC_NP3_MARK_OCCURANCE, 0); - SendMessage(hwndEdit, SCI_INDICATORCLEARRANGE, 0, (int)SendMessage(hwndEdit, SCI_GETLENGTH, 0, 0)); - if (iMarkOccurrences != 0) { - iMarkOccurrences = 0; - SendMessage(hwndMain, WM_COMMAND, (WPARAM)MAKELONG(IDM_VIEW_MARKOCCURRENCES_ONOFF, 1), 0); + { + DeleteObject(hBrushRed); + DeleteObject(hBrushGreen); + EnableCmd(GetMenu(hwndMain), IDM_VIEW_MARKOCCURRENCES_ONOFF, TRUE); + if (iSaveMarkOcc != 0) { + SendMessage(hwndMain, WM_COMMAND, (WPARAM)MAKELONG(IDM_VIEW_MARKOCCURRENCES_ONOFF, 1), 0); + } } return FALSE; @@ -4581,7 +4578,7 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA EditSetSearchFlags(hwnd, lpefr); - if (bFlagsChanged || (lstrcmpA(lastFind, lpefr->szFind) != 0)) { + if (bFlagsChanged || (StringCchCompareXA(lastFind, lpefr->szFind) != 0)) { BeginWaitCursor(); StringCchCopyA(lastFind, COUNTOF(lastFind), lpefr->szFind); BOOL bMatch = bEnableF && EditFindHasMatch(hwndEdit, lpefr, (iSaveMarkOcc != 0)); diff --git a/src/Helpers.h b/src/Helpers.h index dc5dc29b4..8a2291053 100644 --- a/src/Helpers.h +++ b/src/Helpers.h @@ -153,11 +153,8 @@ LRESULT SendWMSize(HWND); BOOL IsCmdEnabled(HWND, UINT); -#define EnableCmd(hmenu,id,b) EnableMenuItem(hmenu,id,(b)\ - ?MF_BYCOMMAND|MF_ENABLED:MF_BYCOMMAND|MF_GRAYED) - -#define CheckCmd(hmenu,id,b) CheckMenuItem(hmenu,id,(b)\ - ?MF_BYCOMMAND|MF_CHECKED:MF_BYCOMMAND|MF_UNCHECKED) +#define EnableCmd(hmenu,id,b) EnableMenuItem(hmenu,id,(b)?MF_BYCOMMAND|MF_ENABLED:MF_BYCOMMAND|MF_GRAYED) +#define CheckCmd(hmenu,id,b) CheckMenuItem(hmenu,id,(b)?MF_BYCOMMAND|MF_CHECKED:MF_BYCOMMAND|MF_UNCHECKED) #define GetString(id,pb,cb) LoadString(g_hInstance,id,pb,cb)