We have a commercial application with a GUI written in Tk and one of our
Korean customers stepped right into the problem described in bug n#227980 (
As this issue is quite important for us, we'd like to know if anybody ever
found a workaround for this bug, or have a patch correcting it? Our tcl/tk
version is 8.3.4
I contacted Microsoft about this personally many moons ago, and there
answer was a close approximation of "Use Windows 2000" (this was
recently made available). The Windows 2000 with multilingual pack
is not affected, and that is all you can get nowadays, IIUC.
This isn't the first time I've heard this answer from Microsoft. On the
gmt mem leak issue (msvcrt leaks memory when using putenv, or something
very similar), their response is actually "Upgrade to .NET" (which has
fixed this). They really said this to a customer with a big support
contract with them (fortunately, they had a Tcl support contract with us,
so we figured out how to work around Microsoft's deficiencies ... that
seems to happen too often).
Jeff Hobbs The Tcl Guy
Senior Developer http://www.ActiveState.com/
Tcl Support and Productivity Solutions
Thanks a lot for the answer. Unfortunately, as I said in my first post, our
application is commercial and the guy who's complaining is a customer.
Micro$oft may think to have the right to despise their customers (and
they'll be right as long as customers don't react IMHO...), but we do not
have that luxury...
So I browsed the source code in the win directory of tk's distribution and
spotted the code treating events. IIUC, a WNDCLASS object should
automagically call the function in its lpfnWndProc attribute whenever an
event occurs. The function in this attribute seems to be TkWinChildProc,
itself calling Tk_TranslateWinEvent that will figure out the right tk event
for the corresponding Windows event (both functions in tkWinX.c). Am I
If I am, and if you or anybody investigated enough the problem, what does
actually happen? Is the function in lpfnWndProc ever called? If it is, why
doesn't it spot the WM_LBUTTONDBLCLK event? Is it something else that
appears in the message? And if the function in lpfnWndProc is not
called, how does the other applications work correctly? Apparently, our
customer did not have any problem with other applications, so why does it
happen with tk, and not with anything else?
Sorry to insist, but I'd really like to figure out if there exists any
workaround before being forced to tell our customer to upgrade to Win2k
with multilingual pack...
Anyway, thanks again.