From 09003cf4055fc336cf12e075636f1dfe8ce035d2 Mon Sep 17 00:00:00 2001
From: Callum Prentice <callum@gmail.com>
Date: Mon, 27 Mar 2017 10:59:19 -0700
Subject: [PATCH] Fix for MAINT-7054 Viewer Crashed when I used Japanese IM.

---
 indra/llwindow/llwindowwin32.cpp | 4 ++--
 indra/llwindow/llwindowwin32.h   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index 301ae7f9c4e..47441db6693 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -2201,7 +2201,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
 			if (LLWinImm::isAvailable() && window_imp->mPreeditor)
 			{
 				LRESULT result = 0;
-				if (window_imp->handleImeRequests(w_param, l_param, &result))
+				if (window_imp->handleImeRequests(w_param, (LONG_PTR)l_param, &result))
 				{
 					return result;
 				}
@@ -3800,7 +3800,7 @@ LLWindowCallbacks::DragNDropResult LLWindowWin32::completeDragNDropRequest( cons
 // When it handled the message, the value to be returned from
 // the Window Procedure is set to *result.
 
-BOOL LLWindowWin32::handleImeRequests(U32 request, U32 param, LRESULT *result)
+BOOL LLWindowWin32::handleImeRequests(U32 request, LONG_PTR param, LRESULT *result)
 {
 	if ( mPreeditor )
 	{
diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h
index 39ef9b31a4e..65782acb622 100644
--- a/indra/llwindow/llwindowwin32.h
+++ b/indra/llwindow/llwindowwin32.h
@@ -148,7 +148,7 @@ class LLWindowWin32 : public LLWindow
 	U32		fillReconvertString(const LLWString &text, S32 focus, S32 focus_length, RECONVERTSTRING *reconvert_string);
 	void	handleStartCompositionMessage();
 	void	handleCompositionMessage(U32 indexes);
-	BOOL	handleImeRequests(U32 request, U32 param, LRESULT *result);
+	BOOL	handleImeRequests(U32 request, LONG_PTR param, LRESULT *result);
 
 protected:
 	//
-- 
GitLab