From a627f020d5893c629156cb547addb668b1f65f08 Mon Sep 17 00:00:00 2001
From: Daniel Grunwald <daniel@danielgrunwald.de>
Date: Wed, 6 Jun 2007 17:23:35 +0000
Subject: [PATCH] Disable IME on 64-bit Windows.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.1@2541 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
---
 .../Project/Src/Gui/Ime.cs                    | 24 +++++++++++--------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/Ime.cs b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/Ime.cs
index 7ea07f697c..76c9ada8d2 100644
--- a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/Ime.cs
+++ b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/Ime.cs
@@ -19,6 +19,10 @@ namespace ICSharpCode.TextEditor
 	{
 		public Ime(IntPtr hWnd, Font font)
 		{
+			string PROCESSOR_ARCHITEW6432 = Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432");
+			if (PROCESSOR_ARCHITEW6432 == "IA64" || PROCESSOR_ARCHITEW6432 == "AMD64") {
+				disableIME = true;
+			}
 			this.hWnd = hWnd;
 			this.hIMEWnd = ImmGetDefaultIMEWnd(hWnd);
 			this.font = font;
@@ -124,11 +128,11 @@ namespace ICSharpCode.TextEditor
 
 			try {
 				SendMessage(
-				            hIMEWnd,
-				            WM_IME_CONTROL,
-				            new IntPtr(IMC_SETCOMPOSITIONFONT),
-				            lf
-				           );
+					hIMEWnd,
+					WM_IME_CONTROL,
+					new IntPtr(IMC_SETCOMPOSITIONFONT),
+					lf
+				);
 			} catch (AccessViolationException ex) {
 				Handle(ex);
 			}
@@ -149,11 +153,11 @@ namespace ICSharpCode.TextEditor
 
 			try {
 				SendMessage(
-				            hIMEWnd,
-				            WM_IME_CONTROL,
-				            new IntPtr(IMC_SETCOMPOSITIONWINDOW),
-				            lParam
-				           );
+					hIMEWnd,
+					WM_IME_CONTROL,
+					new IntPtr(IMC_SETCOMPOSITIONWINDOW),
+					lParam
+				);
 			} catch (AccessViolationException ex) {
 				Handle(ex);
 			}