diff options
author | Andrey Lihatskiy <andreylproductengine@lindenlab.com> | 2019-05-23 14:34:10 +0000 |
---|---|---|
committer | Andrey Lihatskiy <andreylproductengine@lindenlab.com> | 2019-05-23 14:34:10 +0000 |
commit | 91edfab36b4a489374554d49bb06bd02e270d0fd (patch) | |
tree | bcdfec176506ee26ba2ed11ea6a5f98c8924abd5 | |
parent | b7c3a2fbeb7580978741b80c2213e78c7ed7e0ff (diff) | |
parent | 0dd7ac4a8d4fe2dfc7cc2327a2f6b4870c7801d3 (diff) |
Merged in default (pull request #56)
SL-10898[Mac] Camera spins and pulls back when using alt+zoom with mouse
Approved-by: Maxim Nikolenko
Approved-by: Andrey Lihatskiy
-rw-r--r-- | indra/llui/llui.cpp | 10 | ||||
-rw-r--r-- | indra/newview/llworldmapview.cpp | 6 |
2 files changed, 5 insertions, 11 deletions
diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index e9f8ba020e..52190a1473 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -236,14 +236,14 @@ void LLUI::dirtyRect(LLRect rect) //static void LLUI::setMousePositionScreen(S32 x, S32 y) { - S32 screen_x, screen_y; #if defined(LL_DARWIN) - screen_x = ll_round((F32)x); - screen_y = ll_round((F32)y); + S32 screen_x = ll_round(((F32)x * getScaleFactor().mV[VX]) / LLView::getWindow()->getSystemUISize()); + S32 screen_y = ll_round(((F32)y * getScaleFactor().mV[VY]) / LLView::getWindow()->getSystemUISize()); #else - screen_x = ll_round((F32)x * getScaleFactor().mV[VX]); - screen_y = ll_round((F32)y * getScaleFactor().mV[VY]); + S32 screen_x = ll_round((F32)x * getScaleFactor().mV[VX]); + S32 screen_y = ll_round((F32)y * getScaleFactor().mV[VY]); #endif + LLView::getWindow()->setCursorPosition(LLCoordGL(screen_x, screen_y).convert()); } diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp index b27257a262..86249badaa 100644 --- a/indra/newview/llworldmapview.cpp +++ b/indra/newview/llworldmapview.cpp @@ -887,14 +887,8 @@ void LLWorldMapView::drawFrustum() F32 half_width_pixels = half_width_meters * meters_to_pixels; // Compute the frustum coordinates. Take the UI scale into account. -#if defined(LL_DARWIN) - F32 ui_scale_factor = gSavedSettings.getF32("UIScaleFactor"); - F32 ctr_x = ((getLocalRect().getWidth() * 0.5f + sPanX) * ui_scale_factor) * LLUI::getScaleFactor().mV[VX]; - F32 ctr_y = ((getLocalRect().getHeight() * 0.5f + sPanY) * ui_scale_factor) * LLUI::getScaleFactor().mV[VY]; -#else F32 ctr_x = ((getLocalRect().getWidth() * 0.5f + sPanX) * LLUI::getScaleFactor().mV[VX]); F32 ctr_y = ((getLocalRect().getHeight() * 0.5f + sPanY) * LLUI::getScaleFactor().mV[VY]); -#endif gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); |