diff options
author | George Hazan <george.hazan@gmail.com> | 2023-06-10 12:57:17 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2023-06-10 12:57:21 +0300 |
commit | a862825f3098868935a7c91ff296e2535c0a0c9b (patch) | |
tree | 288ee3b21a44ed50bb95cc01fbf94b2079713bf9 | |
parent | 06da5a613f7da40c4e98bda42a3fb2eb7818c939 (diff) |
fixes #3557 (Broken nicklist menu in group chats)
-rw-r--r-- | src/mir_app/src/srmm_base.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mir_app/src/srmm_base.cpp b/src/mir_app/src/srmm_base.cpp index bc77a2227e..6612572732 100644 --- a/src/mir_app/src/srmm_base.cpp +++ b/src/mir_app/src/srmm_base.cpp @@ -98,7 +98,7 @@ void CSrmmBaseDialog::RunUserMenu(HWND hwndOwner, USERINFO *ui, const POINT &pt) ModifyMenu(hMenu, 0, MF_STRING | MF_BYPOSITION, IDM_SENDMESSAGE, szTemp);
Chat_CreateMenu(hSubMenu, m_si, uinew.pszUID);
- UINT uID = TrackPopupMenu(hMenu, TPM_RETURNCMD | TPM_RIGHTBUTTON, pt.x, pt.y, 0, hwndOwner, nullptr);
+ UINT uID = TrackPopupMenu(hSubMenu, TPM_RETURNCMD | TPM_RIGHTBUTTON, pt.x, pt.y, 0, hwndOwner, nullptr);
switch (uID) {
case 0:
break;
@@ -462,7 +462,10 @@ LRESULT CSrmmBaseDialog::WndProc_Nicklist(UINT msg, WPARAM wParam, LPARAM lParam }
else ScreenToClient(m_nickList.GetHwnd(), &pt);
- int item = LOWORD(m_nickList.SendMsg(LB_ITEMFROMPOINT, 0, MAKELPARAM(pt.x, pt.y)));
+ int item = m_nickList.SendMsg(LB_ITEMFROMPOINT, 0, MAKELPARAM(pt.x, pt.y));
+ if (HIWORD(item) != 0) // clicked outside the client area
+ break;
+
USERINFO *ui = g_chatApi.SM_GetUserFromIndex(m_si->ptszID, m_si->pszModule, item);
if (ui != nullptr) {
if (pt.x == -1 && pt.y == -1)
|