@@ -6081,27 +6081,28 @@ BOOL EditReplaceAllInSelection(HWND hwnd, LPCEDITFINDREPLACE lpefr, BOOL bShowIn
60816081//
60826082INT_PTR CALLBACK EditLinenumDlgProc (HWND hwnd , UINT umsg , WPARAM wParam , LPARAM lParam )
60836083{
6084- LPEDITFINDREPLACE lpefr = NULL ;
6085-
6086-
6084+ LPCGOTOPARAMS lpgoto = NULL ;
60876085 switch (umsg )
60886086 {
60896087 DPI_CHANGED_HANDLER ();
60906088
60916089 case WM_INITDIALOG : {
60926090
6091+ // [2e]: Find/Replace - add Go to Go To #259
60936092 SetWindowLongPtr (hwnd , DWLP_USER , (LONG_PTR )lParam );
6094- lpefr = (LPEDITFINDREPLACE )lParam ;
6093+ lpgoto = (LPGOTOPARAMS )lParam ;
60956094
6096- if (!lpefr || !strlen (lpefr -> szFindUTF8 ))
6095+ if (!lpgoto || lpgoto -> bForceDefaultInit || !strlen (lpgoto -> lpefr -> szFindUTF8 ))
60976096 {
6097+ lpgoto -> bForceDefaultInit = FALSE;
60986098 int iCurLine = (int )SendMessage (hwndEdit , SCI_LINEFROMPOSITION , SendMessage (hwndEdit , SCI_GETCURRENTPOS , 0 , 0 ), 0 ) + 1 ;
60996099 SetDlgItemInt (hwnd , IDC_LINENUM , iCurLine , FALSE);
61006100 }
61016101 else
61026102 {
6103- SetDlgItemTextA2W (CP_UTF8 , hwnd , IDC_LINENUM , lpefr -> szFindUTF8 );
6103+ SetDlgItemTextA2W (CP_UTF8 , hwnd , IDC_LINENUM , lpgoto -> lpefr -> szFindUTF8 );
61046104 }
6105+ // [/2e]
61056106 SendDlgItemMessage (hwnd , IDC_LINENUM , EM_LIMITTEXT , 15 , 0 );
61066107 SendDlgItemMessage (hwnd , IDC_COLNUM , EM_LIMITTEXT , 15 , 0 );
61076108 SendDlgItemMessage (hwnd , IDC_POSNUM , EM_LIMITTEXT , 15 , 0 );
@@ -6129,16 +6130,14 @@ INT_PTR CALLBACK EditLinenumDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM
61296130 switch (LOWORD (wParam ))
61306131 {
61316132
6133+ // [2e]: Find/Replace - add Go to Go To #259
61326134 case IDACC_FIND :
61336135 case IDACC_REPLACE :
6134- lpefr = (LPEDITFINDREPLACE )GetWindowLongPtr (hwnd , DWLP_USER );
6135- if (!lpefr )
6136- {
6137- lpefr = & efrSave ;
6138- }
6139- GetDlgItemTextA2W (CP_UTF8 , hwnd , IDC_LINENUM , lpefr -> szFindUTF8 , COUNTOF (lpefr -> szFindUTF8 ));
6136+ lpgoto = (LPGOTOPARAMS )GetWindowLongPtr (hwnd , DWLP_USER );
6137+ GetDlgItemTextA2W (CP_UTF8 , hwnd , IDC_LINENUM , lpgoto -> lpefr -> szFindUTF8 , COUNTOF (lpgoto -> lpefr -> szFindUTF8 ));
61406138 PostMessage (GetParent (hwnd ), WM_COMMAND , MAKELONG ((LOWORD (wParam ) == IDACC_FIND ) ? IDM_EDIT_FIND : IDM_EDIT_REPLACE , 1 ), 0 );
61416139 break ;
6140+ // [/2e]
61426141
61436142
61446143 case IDACC_SAVEPOS :
@@ -6262,15 +6261,15 @@ INT_PTR CALLBACK EditLinenumDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM
62626261//
62636262// EditLinenumDlg()
62646263//
6265- HWND EditLinenumDlg (HWND hwnd , LPCEDITFINDREPLACE lpefr )
6264+ HWND EditLinenumDlg (HWND hwnd , LPCGOTOPARAMS lpgoto )
62666265{
62676266
62686267 HWND hDlg ;
62696268
6270- lpefr -> hwnd = NULL ;
6269+ lpgoto -> lpefr -> hwnd = NULL ;
62716270
62726271 hDlg = CreateThemedDialogParam (g_hInstance , MAKEINTRESOURCEW (IDD_LINENUM ),
6273- GetParent (hwnd ), EditLinenumDlgProc , (LPARAM )lpefr );
6272+ GetParent (hwnd ), EditLinenumDlgProc , (LPARAM )lpgoto );
62746273
62756274 ShowWindow (hDlg , SW_SHOW );
62766275
0 commit comments