diff --git a/reactos/win32ss/user/ntuser/defwnd.c b/reactos/win32ss/user/ntuser/defwnd.c index e9db53fd70b..f509473011a 100644 --- a/reactos/win32ss/user/ntuser/defwnd.c +++ b/reactos/win32ss/user/ntuser/defwnd.c @@ -721,6 +721,16 @@ IntDefWindowProc( ERR("WM_NCRBUTTONUP\n"); break; + case WM_XBUTTONUP: + case WM_NCXBUTTONUP: + if (HIWORD(wParam) == XBUTTON1 || HIWORD(wParam) == XBUTTON2) + { + co_IntSendMessage(UserHMGetHandle(Wnd), WM_APPCOMMAND, (WPARAM)UserHMGetHandle(Wnd), + MAKELPARAM(LOWORD(wParam), FAPPCOMMAND_MOUSE | HIWORD(wParam))); + } + break; + + case WM_CONTEXTMENU: { if (Wnd->style & WS_CHILD) diff --git a/reactos/win32ss/user/user32/windows/defwnd.c b/reactos/win32ss/user/user32/windows/defwnd.c index 383a0dbc743..66753cefe44 100644 --- a/reactos/win32ss/user/user32/windows/defwnd.c +++ b/reactos/win32ss/user/user32/windows/defwnd.c @@ -376,6 +376,15 @@ User32DefWindowProc(HWND hWnd, ERR("WM_NCRBUTTONUP\n"); break; + case WM_XBUTTONUP: + case WM_NCXBUTTONUP: + if (HIWORD(wParam) == XBUTTON1 || HIWORD(wParam) == XBUTTON2) + { + SendMessageW(hWnd, WM_APPCOMMAND, (WPARAM)hWnd, + MAKELPARAM(LOWORD(wParam), FAPPCOMMAND_MOUSE | HIWORD(wParam))); + } + break; + case WM_CONTEXTMENU: { if (GetWindowLongPtrW(hWnd, GWL_STYLE) & WS_CHILD)