summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMnikolenko ProductEngine <mnikolenko@productengine.com>2019-07-19 13:40:17 +0300
committerMnikolenko ProductEngine <mnikolenko@productengine.com>2019-07-19 13:40:17 +0300
commitc5bcb31d00cdac597ce6e406c253ba456e9436c8 (patch)
tree617493f1a201e69d40597eccb9f8e3365b237f58
parenta0bf70b41d84c50da081917f0ec842cca973f45b (diff)
SL-11592 [Mac] Fixed mouse buttons ids for correct handling.
-rw-r--r--indra/llwindow/llmousehandler.cpp8
-rw-r--r--indra/llwindow/llwindowmacosx.cpp9
2 files changed, 13 insertions, 4 deletions
diff --git a/indra/llwindow/llmousehandler.cpp b/indra/llwindow/llmousehandler.cpp
index bea66e763c..d5fa65fe4b 100644
--- a/indra/llwindow/llmousehandler.cpp
+++ b/indra/llwindow/llmousehandler.cpp
@@ -38,6 +38,10 @@ BOOL LLMouseHandler::handleAnyMouseClick(S32 x, S32 y, MASK mask, EClickType cli
case CLICK_RIGHT: handled = handleRightMouseDown(x, y, mask); break;
case CLICK_MIDDLE: handled = handleMiddleMouseDown(x, y, mask); break;
case CLICK_DOUBLELEFT: handled = handleDoubleClick(x, y, mask); break;
+ case CLICK_BUTTON4:
+ case CLICK_BUTTON5:
+ LL_INFOS() << "Handle mouse button " << clicktype + 1 << " down." << LL_ENDL;
+ break;
default:
LL_WARNS() << "Unhandled enum." << LL_ENDL;
}
@@ -50,6 +54,10 @@ BOOL LLMouseHandler::handleAnyMouseClick(S32 x, S32 y, MASK mask, EClickType cli
case CLICK_RIGHT: handled = handleRightMouseUp(x, y, mask); break;
case CLICK_MIDDLE: handled = handleMiddleMouseUp(x, y, mask); break;
case CLICK_DOUBLELEFT: handled = handleDoubleClick(x, y, mask); break;
+ case CLICK_BUTTON4:
+ case CLICK_BUTTON5:
+ LL_INFOS() << "Handle mouse button " << clicktype + 1 << " up." << LL_ENDL;
+ break;
default:
LL_WARNS() << "Unhandled enum." << LL_ENDL;
}
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 6749b3be3b..d9b95d311a 100644
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -426,13 +426,14 @@ void callOtherMouseDown(float *pos, MASK mask, int button)
gWindowImplementation->getMouseDeltas(deltas);
outCoords.mX += deltas[0];
outCoords.mY += deltas[1];
- if (button == 3)
+
+ if (button == 2)
{
gWindowImplementation->getCallbacks()->handleMiddleMouseDown(gWindowImplementation, outCoords, mask);
}
else
{
- gWindowImplementation->getCallbacks()->handleOtherMouseDown(gWindowImplementation, outCoords, mask, button);
+ gWindowImplementation->getCallbacks()->handleOtherMouseDown(gWindowImplementation, outCoords, mask, button + 1);
}
}
@@ -445,13 +446,13 @@ void callOtherMouseUp(float *pos, MASK mask, int button)
gWindowImplementation->getMouseDeltas(deltas);
outCoords.mX += deltas[0];
outCoords.mY += deltas[1];
- if (button == 3)
+ if (button == 2)
{
gWindowImplementation->getCallbacks()->handleMiddleMouseUp(gWindowImplementation, outCoords, mask);
}
else
{
- gWindowImplementation->getCallbacks()->handleOtherMouseUp(gWindowImplementation, outCoords, mask, button);
+ gWindowImplementation->getCallbacks()->handleOtherMouseUp(gWindowImplementation, outCoords, mask, button + 1);
}
}