From 0b7edafd73d1ecb4c9eb720f7cb4c1772683c6b6 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Wed, 9 Sep 2020 23:29:36 -0700 Subject: [PATCH] Fixed issue with forward/backward mouse buttons --- BeefySysLib/BFWindow.h | 2 +- BeefySysLib/platform/win/WinBFApp.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/BeefySysLib/BFWindow.h b/BeefySysLib/BFWindow.h index 20a4514d..4ecd283f 100644 --- a/BeefySysLib/BFWindow.h +++ b/BeefySysLib/BFWindow.h @@ -80,7 +80,7 @@ public: class BFSysBitmap; #define KEYCODE_MAX 0x100 -#define MOUSEBUTTON_MAX 3 +#define MOUSEBUTTON_MAX 5 class BFWindow; diff --git a/BeefySysLib/platform/win/WinBFApp.cpp b/BeefySysLib/platform/win/WinBFApp.cpp index 513c7db2..a78c4f82 100644 --- a/BeefySysLib/platform/win/WinBFApp.cpp +++ b/BeefySysLib/platform/win/WinBFApp.cpp @@ -571,6 +571,9 @@ LRESULT WinBFWindow::WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar auto _BtnDown = [&](int btn) { + BF_ASSERT(btn < MOUSEBUTTON_MAX); + if (btn >= MOUSEBUTTON_MAX) + return; DWORD tickNow = BFTickCount(); SetCapture(hWnd); @@ -587,6 +590,9 @@ LRESULT WinBFWindow::WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar auto _BtnUp = [&](int btn) { + BF_ASSERT(btn < MOUSEBUTTON_MAX); + if (btn >= MOUSEBUTTON_MAX) + return; releaseCapture = true; mIsMouseDown[btn] = false; mMouseUpFunc(this, x, y, btn);