Module: wine Branch: master Commit: df8ec3a37125159dbceb1a092d2a109d7aa77727 URL: http://source.winehq.org/git/wine.git/?a=commit;h=df8ec3a37125159dbceb1a092d...
Author: Roman Pisl rpisl@seznam.cz Date: Mon Oct 10 16:35:42 2016 +0200
explorer: 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
---
programs/explorer/systray.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
diff --git a/programs/explorer/systray.c b/programs/explorer/systray.c index a08685b..f4801b7 100644 --- a/programs/explorer/systray.c +++ b/programs/explorer/systray.c @@ -830,6 +830,25 @@ static LRESULT WINAPI tray_wndproc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM l ret = PostMessageW(icon->owner, icon->callback_message, wpar, oldver ? msg : MAKELPARAM(msg, icon->id));
+ if (ret && icon->version > 0) { + switch (msg) { + case WM_RBUTTONUP: + /* notify the owner hwnd of the message */ + WINE_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 */ + WINE_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)) { WINE_WARN("application window was destroyed without removing "