diff options
author | hobbs <hobbs> | 2004-05-03 22:40:57 (GMT) |
---|---|---|
committer | hobbs <hobbs> | 2004-05-03 22:40:57 (GMT) |
commit | 8ed8369046f67b8ccdc3cd88a1a3db545024748b (patch) | |
tree | d09c15cf47122feebcf72ca10b67e77b2f9f7aa6 /win | |
parent | 5a7c9991c1e212687cf3383f542968c474dc6497 (diff) | |
download | tk-8ed8369046f67b8ccdc3cd88a1a3db545024748b.zip tk-8ed8369046f67b8ccdc3cd88a1a3db545024748b.tar.gz tk-8ed8369046f67b8ccdc3cd88a1a3db545024748b.tar.bz2 |
* win/tkWinX.c: fix drawing of unicode chars in menu
* win/tkWinInt.h (TkWinProcs): titles. [Bug #904371] (riefenstahl)
* win/tkWinMenu.c (ReconfigureWindowsMenu):
Diffstat (limited to 'win')
-rw-r--r-- | win/tkWinInt.h | 4 | ||||
-rw-r--r-- | win/tkWinMenu.c | 7 | ||||
-rw-r--r-- | win/tkWinX.c | 6 |
3 files changed, 12 insertions, 5 deletions
diff --git a/win/tkWinInt.h b/win/tkWinInt.h index cbe2290..cfcc7c0 100644 --- a/win/tkWinInt.h +++ b/win/tkWinInt.h @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkWinInt.h,v 1.14 2003/02/26 02:47:05 hobbs Exp $ + * RCS: @(#) $Id: tkWinInt.h,v 1.14.2.1 2004/05/03 22:40:58 hobbs Exp $ */ #ifndef _TKWININT @@ -187,6 +187,8 @@ typedef struct TkWinProcs { LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam); + BOOL (WINAPI *insertMenu)(HMENU hMenu, UINT uPosition, UINT uFlags, + UINT uIDNewItem, LPCTSTR lpNewItem); } TkWinProcs; EXTERN TkWinProcs *tkWinProcs; diff --git a/win/tkWinMenu.c b/win/tkWinMenu.c index ff2d557..0d89cbe 100644 --- a/win/tkWinMenu.c +++ b/win/tkWinMenu.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkWinMenu.c,v 1.21 2002/08/08 01:42:57 hobbs Exp $ + * RCS: @(#) $Id: tkWinMenu.c,v 1.21.2.1 2004/05/03 22:40:58 hobbs Exp $ */ #define OEMRESOURCE @@ -570,7 +570,7 @@ ReconfigureWindowsMenu( itemText = GetEntryText(mePtr); if ((menuPtr->menuType == MENUBAR) || (menuPtr->menuFlags & MENU_SYSTEM_MENU)) { - Tcl_UtfToExternalDString(NULL, itemText, -1, &translatedText); + Tcl_WinUtfToTChar(itemText, -1, &translatedText); lpNewItem = Tcl_DStringValue(&translatedText); } else { lpNewItem = (LPCTSTR) mePtr; @@ -669,7 +669,8 @@ ReconfigureWindowsMenu( } } if (!systemMenu) { - InsertMenu(winMenuHdl, 0xFFFFFFFF, flags, itemID, lpNewItem); + (*tkWinProcs->insertMenu)(winMenuHdl, 0xFFFFFFFF, flags, + itemID, lpNewItem); } Tcl_DStringFree(&translatedText); if (itemText != NULL) { diff --git a/win/tkWinX.c b/win/tkWinX.c index 26a76a3..550bc34 100644 --- a/win/tkWinX.c +++ b/win/tkWinX.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkWinX.c,v 1.25.2.1 2004/05/03 22:23:09 hobbs Exp $ + * RCS: @(#) $Id: tkWinX.c,v 1.25.2.2 2004/05/03 22:40:58 hobbs Exp $ */ #include "tkWinInt.h" @@ -52,6 +52,8 @@ static TkWinProcs asciiProcs = { LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam)) CreateWindowExA, + (BOOL (WINAPI *)(HMENU hMenu, UINT uPosition, UINT uFlags, + UINT uIDNewItem, LPCTSTR lpNewItem)) InsertMenuA, }; static TkWinProcs unicodeProcs = { @@ -67,6 +69,8 @@ static TkWinProcs unicodeProcs = { LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam)) CreateWindowExW, + (BOOL (WINAPI *)(HMENU hMenu, UINT uPosition, UINT uFlags, + UINT uIDNewItem, LPCTSTR lpNewItem)) InsertMenuW, }; TkWinProcs *tkWinProcs; |