Mercurial > vim
diff src/gui_w48.c @ 838:8e5830943bff v7.0e04
updated for version 7.0e04
author | vimboss |
---|---|
date | Thu, 20 Apr 2006 22:17:20 +0000 |
parents | 6bb1fa855dc9 |
children | 1f3b1021f002 |
line wrap: on
line diff
--- a/src/gui_w48.c +++ b/src/gui_w48.c @@ -2296,18 +2296,26 @@ gui_mch_update_tabline(void) int curtabidx = 0; RECT rc; #ifdef FEAT_MBYTE + static int use_unicode = FALSE; + int uu; WCHAR *wstr = NULL; #endif if (s_tabhwnd == NULL) return; -#if defined(FEAT_MBYTE) && defined(CCM_SETUNICODEFORMAT) - if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) - /* - * Enable unicode support - */ - SendMessage(s_tabhwnd, CCM_SETUNICODEFORMAT, (WPARAM)TRUE, (LPARAM)0); +#if defined(FEAT_MBYTE) +# ifndef CCM_SETUNICODEFORMAT + /* For older compilers. We assume this never changes. */ +# define CCM_SETUNICODEFORMAT 0x2005 +# endif + uu = (enc_codepage >= 0 && (int)GetACP() != enc_codepage); + if (uu != use_unicode) + { + /* Enable/disable unicode support */ + SendMessage(s_tabhwnd, CCM_SETUNICODEFORMAT, (WPARAM)uu, (LPARAM)0); + use_unicode = uu; + } #endif tie.mask = TCIF_TEXT; @@ -2330,7 +2338,7 @@ gui_mch_update_tabline(void) tie.pszText = NameBuff; #ifdef FEAT_MBYTE wstr = NULL; - if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) + if (use_unicode) { /* Need to go through Unicode. */ wstr = enc_to_ucs2(NameBuff, NULL);