@@ -2918,7 +2918,7 @@ static void EDIT_EM_SetMargins(EDITSTATE *es, INT action,
2918
2918
default_right_margin = tm .tmAveCharWidth / 2 ;
2919
2919
min_size = calc_min_set_margin_size (dc , default_left_margin , default_right_margin );
2920
2920
GetClientRect (es -> hwndSelf , & rc );
2921
- if ( rc .right - rc .left < min_size ) {
2921
+ if (! IsRectEmpty ( & rc ) && ( rc .right - rc .left < min_size ) ) {
2922
2922
default_left_margin = es -> left_margin ;
2923
2923
default_right_margin = es -> right_margin ;
2924
2924
}
@@ -3252,17 +3252,14 @@ static LRESULT EDIT_WM_Char(EDITSTATE *es, WCHAR c)
3252
3252
return 1 ;
3253
3253
}
3254
3254
3255
- #if 0 // Removed see Revision 43925 comments.
3255
+
3256
3256
/*********************************************************************
3257
3257
*
3258
- * WM_COMMAND
3258
+ * EDIT_ContextMenuCommand
3259
3259
*
3260
3260
*/
3261
- static void EDIT_WM_Command (EDITSTATE * es , INT code , INT id , HWND control )
3261
+ static void EDIT_ContextMenuCommand (EDITSTATE * es , UINT id )
3262
3262
{
3263
- if (code || control )
3264
- return ;
3265
-
3266
3263
switch (id ) {
3267
3264
case EM_UNDO :
3268
3265
SendMessageW (es -> hwndSelf , WM_UNDO , 0 , 0 );
@@ -3280,15 +3277,13 @@ static void EDIT_WM_Command(EDITSTATE *es, INT code, INT id, HWND control)
3280
3277
SendMessageW (es -> hwndSelf , WM_CLEAR , 0 , 0 );
3281
3278
break ;
3282
3279
case EM_SETSEL :
3283
- EDIT_EM_SetSel (es , 0 , (UINT )- 1 , FALSE);
3284
- EDIT_EM_ScrollCaret (es );
3280
+ SendMessageW (es -> hwndSelf , EM_SETSEL , 0 , -1 );
3285
3281
break ;
3286
3282
default :
3287
3283
ERR ("unknown menu item, please report\n" );
3288
3284
break ;
3289
3285
}
3290
3286
}
3291
- #endif
3292
3287
3293
3288
3294
3289
/*********************************************************************
@@ -3313,8 +3308,8 @@ static void EDIT_WM_ContextMenu(EDITSTATE *es, INT x, INT y)
3313
3308
HMENU popup = GetSubMenu (menu , 0 );
3314
3309
UINT start = es -> selection_start ;
3315
3310
UINT end = es -> selection_end ;
3311
+ UINT cmd ;
3316
3312
3317
- BOOL selectedItem ; // reactos r40667
3318
3313
ORDER_UINT (start , end );
3319
3314
3320
3315
/* undo */
@@ -3345,34 +3340,12 @@ static void EDIT_WM_ContextMenu(EDITSTATE *es, INT x, INT y)
3345
3340
if (!(es -> flags & EF_FOCUSED ))
3346
3341
SetFocus (es -> hwndSelf );
3347
3342
3348
- #ifdef __REACTOS__ // r40667
3349
- selectedItem = TrackPopupMenu (popup , TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD , x , y , 0 , es -> hwndSelf , NULL );
3350
- // Added see Revision 43925 comments.
3351
- switch (selectedItem ) {
3352
- case EM_UNDO :
3353
- SendMessageW (es -> hwndSelf , WM_UNDO , 0 , 0 );
3354
- break ;
3355
- case WM_CUT :
3356
- SendMessageW (es -> hwndSelf , WM_CUT , 0 , 0 );
3357
- break ;
3358
- case WM_COPY :
3359
- SendMessageW (es -> hwndSelf , WM_COPY , 0 , 0 );
3360
- break ;
3361
- case WM_PASTE :
3362
- SendMessageW (es -> hwndSelf , WM_PASTE , 0 , 0 );
3363
- break ;
3364
- case WM_CLEAR :
3365
- SendMessageW (es -> hwndSelf , WM_CLEAR , 0 , 0 );
3366
- break ;
3367
- case EM_SETSEL :
3368
- EDIT_EM_SetSel (es , 0 , (UINT )- 1 , FALSE);
3369
- EDIT_EM_ScrollCaret (es );
3370
- break ;
3371
- default :
3372
- ERR ("unknown menu item, please report\n" );
3373
- break ;
3374
- }
3375
- #endif
3343
+ cmd = TrackPopupMenu (popup , TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD | TPM_NONOTIFY ,
3344
+ x , y , 0 , es -> hwndSelf , NULL );
3345
+
3346
+ if (cmd )
3347
+ EDIT_ContextMenuCommand (es , cmd );
3348
+
3376
3349
DestroyMenu (menu );
3377
3350
}
3378
3351
@@ -5049,11 +5022,7 @@ LRESULT WINAPI EditWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
5049
5022
case WM_CLEAR :
5050
5023
EDIT_WM_Clear (es );
5051
5024
break ;
5052
- #if 0 // Removed see Revision 43925 comments.
5053
- case WM_COMMAND :
5054
- EDIT_WM_Command (es , HIWORD (wParam ), LOWORD (wParam ), (HWND )lParam );
5055
- break ;
5056
- #endif
5025
+
5057
5026
case WM_CONTEXTMENU :
5058
5027
EDIT_WM_ContextMenu (es , (short )LOWORD (lParam ), (short )HIWORD (lParam ));
5059
5028
break ;
0 commit comments