winex11: Send WM_CONTEXTMENU on WM_RBUTTONUP and NIN_SELECT on WM_LBUTTONUP.

Signed-off-by: Roman Pisl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Roman Pisl 2016-10-10 16:35:41 +02:00 committed by Alexandre Julliard
parent fcad721081
commit fb70cdb419
1 changed files with 19 additions and 0 deletions

View File

@ -509,6 +509,25 @@ static LRESULT WINAPI tray_icon_wndproc(HWND hwnd, UINT msg, WPARAM wparam, LPAR
ret = PostMessageW(icon->owner, icon->callback_message, wpar, ret = PostMessageW(icon->owner, icon->callback_message, wpar,
oldver ? msg : MAKELPARAM(msg, icon->id)); oldver ? msg : MAKELPARAM(msg, icon->id));
if (ret && icon->version > 0) {
switch (msg) {
case WM_RBUTTONUP:
/* notify the owner hwnd of the message */
TRACE("relaying 0x%x\n", WM_CONTEXTMENU);
ret = PostMessageW(icon->owner, icon->callback_message, wpar,
oldver ? WM_CONTEXTMENU : MAKELPARAM(WM_CONTEXTMENU, icon->id));
break;
case WM_LBUTTONUP:
/* notify the owner hwnd of the message */
TRACE("relaying 0x%x\n", NIN_SELECT);
ret = PostMessageW(icon->owner, icon->callback_message, wpar,
oldver ? NIN_SELECT : MAKELPARAM(NIN_SELECT, icon->id));
break;
default:
break;
}
}
if (!ret && (GetLastError() == ERROR_INVALID_WINDOW_HANDLE)) if (!ret && (GetLastError() == ERROR_INVALID_WINDOW_HANDLE))
{ {
WARN( "application window was destroyed, removing icon %u\n", icon->id ); WARN( "application window was destroyed, removing icon %u\n", icon->id );