diff options
-rw-r--r-- | indra/llui/llui.cpp | 10 |
1 files changed, 5 insertions, 5 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()); } |