From 76e97faa40f576606035310483603de1c2e8f279 Mon Sep 17 00:00:00 2001 From: Kazuki Sakamoto Date: Wed, 8 Apr 2009 20:16:40 +0900 Subject: [PATCH] Fix bouncing MacVim icon problem with noimdisable --- src/MacVim/MMVimController.m | 4 ++++ src/MacVim/MacVim.h | 2 ++ src/MacVim/MacVim.m | 2 ++ src/MacVim/gui_macvim.m | 3 ++- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/MacVim/MMVimController.m b/src/MacVim/MMVimController.m index 2e3738f7..f2b40db6 100644 --- a/src/MacVim/MMVimController.m +++ b/src/MacVim/MMVimController.m @@ -981,6 +981,10 @@ static BOOL isUnsafeMessage(int msgid); showWithText:[dict objectForKey:@"text"] flags:[[dict objectForKey:@"flags"] intValue]]; } + } else if (ActivateKeyScriptID == msgid) { + KeyScript(smKeySysScript); + } else if (DeactivateKeyScriptID == msgid) { + KeyScript(smKeyRoman); // IMPORTANT: When adding a new message, make sure to update // isUnsafeMessage() if necessary! } else { diff --git a/src/MacVim/MacVim.h b/src/MacVim/MacVim.h index 2f523060..de68bf14 100644 --- a/src/MacVim/MacVim.h +++ b/src/MacVim/MacVim.h @@ -177,6 +177,8 @@ enum { SetFullscreenColorMsgID, ShowFindReplaceDialogMsgID, FindReplaceMsgID, + ActivateKeyScriptID, + DeactivateKeyScriptID, }; diff --git a/src/MacVim/MacVim.m b/src/MacVim/MacVim.m index d94c825a..17f4e015 100644 --- a/src/MacVim/MacVim.m +++ b/src/MacVim/MacVim.m @@ -84,6 +84,8 @@ char *MessageStrings[] = "SetFullscreenColorMsgID", "ShowFindReplaceDialogMsgID", "FindReplaceMsgID", + "ActivateKeyScriptID", + "DeactivateKeyScriptID", }; diff --git a/src/MacVim/gui_macvim.m b/src/MacVim/gui_macvim.m index 2e53a92b..e0f5d9d0 100644 --- a/src/MacVim/gui_macvim.m +++ b/src/MacVim/gui_macvim.m @@ -1270,7 +1270,8 @@ im_set_active(int active) SInt32 systemScript = GetScriptManagerVariable(smSysScript); if (!p_imdisable && smRoman != systemScript) - KeyScript(active ? smKeySysScript : smKeyRoman); + [[MMBackend sharedInstance] queueMessage: + (active ? ActivateKeyScriptID : DeactivateKeyScriptID) data:nil]; } -- 2.11.4.GIT