summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-06-10 12:57:17 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-06-10 12:57:21 +0300
commita862825f3098868935a7c91ff296e2535c0a0c9b (patch)
tree288ee3b21a44ed50bb95cc01fbf94b2079713bf9
parent06da5a613f7da40c4e98bda42a3fb2eb7818c939 (diff)
fixes #3557 (Broken nicklist menu in group chats)
-rw-r--r--src/mir_app/src/srmm_base.cpp7
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)