diff options
-rw-r--r-- | src/core/stdmsg/src/msgdialog.cpp | 3 | ||||
-rw-r--r-- | src/mir_app/src/srmm_base.cpp | 10 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/core/stdmsg/src/msgdialog.cpp b/src/core/stdmsg/src/msgdialog.cpp index e179f4a978..2b22745d08 100644 --- a/src/core/stdmsg/src/msgdialog.cpp +++ b/src/core/stdmsg/src/msgdialog.cpp @@ -818,8 +818,9 @@ LRESULT CSrmmWindow::WndProc_Message(UINT msg, WPARAM wParam, LPARAM lParam) // Someone added items?
if (GetMenuItemCount(mwpd.hMenu) > 0) {
- SetCursor(LoadCursor(nullptr, IDC_ARROW));
+ m_bInMenu = true;
mwpd.selection = TrackPopupMenu(mwpd.hMenu, TPM_RETURNCMD, mwpd.pt.x, mwpd.pt.y, 0, m_message.GetHwnd(), nullptr);
+ m_bInMenu = false;
}
// Second notification
diff --git a/src/mir_app/src/srmm_base.cpp b/src/mir_app/src/srmm_base.cpp index 6624d07f70..18739c7732 100644 --- a/src/mir_app/src/srmm_base.cpp +++ b/src/mir_app/src/srmm_base.cpp @@ -332,7 +332,15 @@ EXTERN_C MIR_APP_DLL(LRESULT) CALLBACK stubMessageProc(HWND hwnd, UINT msg, WPAR LRESULT CSrmmBaseDialog::WndProc_Message(UINT msg, WPARAM wParam, LPARAM lParam) { - if (msg == WM_CHAR) { + switch (msg) { + case WM_SETCURSOR: + if (m_bInMenu) { + SetCursor(LoadCursor(nullptr, IDC_ARROW)); + return TRUE; + } + break; + + case WM_CHAR: switch (wParam) { case 0x02: if (m_btnBold.Enabled()) |