diff options
| author | ruslantproductengine <ruslantproductengine@lindenlab.com> | 2019-05-21 20:09:23 +0300 | 
|---|---|---|
| committer | ruslantproductengine <ruslantproductengine@lindenlab.com> | 2019-05-21 20:09:23 +0300 | 
| commit | 0dd7ac4a8d4fe2dfc7cc2327a2f6b4870c7801d3 (patch) | |
| tree | eed3db84999a9218f4e0926d969b3d084024abe5 /indra | |
| parent | dea875201e33df89fbf1b09a6ae87a1c17c28772 (diff) | |
SL-10898[Mac] Camera spins and pulls back when using alt+zoom with mouse
Diffstat (limited to 'indra')
| -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 93d1dacf1f..699b392a24 100644 --- a/indra/newview/llworldmapview.cpp +++ b/indra/newview/llworldmapview.cpp @@ -883,14 +883,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); | 
