diff options
author | ruslantproductengine <ruslantproductengine@lindenlab.com> | 2018-11-02 16:27:34 +0200 |
---|---|---|
committer | ruslantproductengine <ruslantproductengine@lindenlab.com> | 2018-11-02 16:27:34 +0200 |
commit | fc2cdf62f186784548934b64ac4a559c32146614 (patch) | |
tree | 74b892988ba7c11513afb20e7386e80fd42984b3 /indra/llui/llui.cpp | |
parent | f3a42d070ecf27acc51e53d4ca8632c7036459ff (diff) |
SL-9766 [Render] [Mac] Alt + left mouse click has severely impaired functions
FIX #2
Diffstat (limited to 'indra/llui/llui.cpp')
-rw-r--r-- | indra/llui/llui.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 770f13c1c3..2e9188a6a8 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -236,9 +236,10 @@ void LLUI::dirtyRect(LLRect rect) //static void LLUI::setMousePositionScreen(S32 x, S32 y) { + F32 dev_scale_factor = LLView::getWindow()->getDeviceScaleFactor(); S32 screen_x, screen_y; - screen_x = ll_round((F32)x * getScaleFactor().mV[VX]); - screen_y = ll_round((F32)y * getScaleFactor().mV[VY]); + screen_x = ll_round(((F32)x * getScaleFactor().mV[VX]) / dev_scale_factor); + screen_y = ll_round(((F32)y * getScaleFactor().mV[VY]) / dev_scale_factor); LLView::getWindow()->setCursorPosition(LLCoordGL(screen_x, screen_y).convert()); } @@ -247,10 +248,11 @@ void LLUI::setMousePositionScreen(S32 x, S32 y) void LLUI::getMousePositionScreen(S32 *x, S32 *y) { LLCoordWindow cursor_pos_window; + F32 dev_scale_factor = LLView::getWindow()->getDeviceScaleFactor(); getWindow()->getCursorPosition(&cursor_pos_window); LLCoordGL cursor_pos_gl(cursor_pos_window.convert()); - *x = ll_round((F32)cursor_pos_gl.mX / getScaleFactor().mV[VX]); - *y = ll_round((F32)cursor_pos_gl.mY / getScaleFactor().mV[VX]); + *x = ll_round(((F32)cursor_pos_gl.mX / getScaleFactor().mV[VX]) * dev_scale_factor); + *y = ll_round(((F32)cursor_pos_gl.mY / getScaleFactor().mV[VX]) * dev_scale_factor); } //static |