summaryrefslogtreecommitdiffstats
path: root/src/gui_w48.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-04-20 22:17:20 +0000
committerBram Moolenaar <Bram@vim.org>2006-04-20 22:17:20 +0000
commitfc1421eb53b17aa58b01a9c07ba2007eb4a1aa4f (patch)
treeaeddd441dc8dc7222c5c1acd2b0841712e833810 /src/gui_w48.c
parent8424a624ce1c38716deabd47f4da23f1e81614bd (diff)
updated for version 7.0e04v7.0e04
Diffstat (limited to 'src/gui_w48.c')
-rw-r--r--src/gui_w48.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/gui_w48.c b/src/gui_w48.c
index 13e032493b..6e4ec1ad69 100644
--- 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);