diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2010-05-20 22:48:13 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2010-05-20 22:48:13 (GMT) |
commit | 16e2616552f5fc57dd669f4875e476fd9656e498 (patch) | |
tree | d5d357b97a22837ce02e07af82b8558ef2b06bbc | |
parent | 154d66ee2ba284c660ae8f0430757d18d0c77a02 (diff) | |
download | tk-16e2616552f5fc57dd669f4875e476fd9656e498.zip tk-16e2616552f5fc57dd669f4875e476fd9656e498.tar.gz tk-16e2616552f5fc57dd669f4875e476fd9656e498.tar.bz2 |
* win/tkWinX.c (HandleIMEComposition): [Bug 2992129]: Ensure that all
places that generate key events zero them out first; Tk relies on that
being true for the generic parts of the fix for Bug 1924761.
-rw-r--r-- | ChangeLog | 51 | ||||
-rw-r--r-- | win/tkWinX.c | 6 |
2 files changed, 33 insertions, 24 deletions
@@ -1,42 +1,47 @@ +2010-05-20 Donal K. Fellows <dkf@users.sf.net> + + * win/tkWinX.c (HandleIMEComposition): [Bug 2992129]: Ensure that all + places that generate key events zero them out first; Tk relies on that + being true for the generic parts of the fix for Bug 1924761. + 2010-05-17 Jan Nijtmans <nijtmans@users.sf.net> - * win/tkWinDialog.c: Fix [Bug #3002230]: tk_chooseDirectory returns + * win/tkWinDialog.c: Fix [Bug 3002230]: tk_chooseDirectory returns garbage on cancel 2010-05-17 Joe English <jenglish@users.sourceforge.net> - * generic/tkBind.c: Revert [Patch #2999920], as it entails an - incompatible change to the C API is and is the cause of - [Bug #3002768]. + * generic/tkBind.c: Revert [Patch 2999920], as it entails an + incompatible change to the C API is and is the cause of [Bug 3002768]. 2010-05-17 Jan Nijtmans <nijtmans@users.sf.net> - * generic/tkBind.c [Patch #2999920]: Optimize Internal Virtual event - string operations - * win/tkWinDialog.c [Bug #2987995]: Tk_getOpenFile returns garbage under - described circumstances + * generic/tkBind.c: [Patch 2999920]: Optimize Internal Virtual event + string operations. + * win/tkWinDialog.c: [Bug 2987995]: Tk_getOpenFile returns garbage + under described circumstances 2010-05-11 Jan Nijtmans <nijtmans@users.sf.net> - * doc/RestrictEv.3 Consistent use of variable names in RestrictEvent - * generic/tkGrab.c API documentation and implementation: Use 'prev' - * unix/tkUnixDraw.c in stead of 'old', and 'arg' in stead of - * unix/tkUnixSend.c 'clientData' everywhere, just as in tkEvent.c. + * doc/RestrictEv.3: Consistent use of variable names in RestrictEvent + * generic/tkGrab.c: API documentation and implementation: Use 'prev' + * unix/tkUnixDraw.c: instead of 'old', and 'arg' instead of + * unix/tkUnixSend.c: 'clientData' everywhere, just as in tkEvent.c. * unix/tkUnixWm.c 2010-05-10 Jan Nijtmans <nijtmans@users.sf.net> - * doc/BindTable.3 Bring in line with actual implementation. - * generic/tk.decls Change Tk_CreateBinding param name, as in doc - * generic/tkInt.decls CONSTify TkCopyAndGlobalEval, TkpSetMainMenubar, - * generic/tkBind.c TkpMenuNotifyToplevelCreate, and TkSetWindowMenuBar - * generic/tkMenu.c - * generic/tkDecls.h (regenerated) - * generic/tkIntDecls.h (regenerated) - * carbon/tkMacOSXMenu.c - * macosx/tkMacOSXMenu.c - * unix/tkUnixMenu.c - * win/tkWinMenu.c + * doc/BindTable.3: Bring in line with actual implementation. + * generic/tk.decls: Change Tk_CreateBinding param name, as in doc + * generic/tkInt.decls: CONSTify TkCopyAndGlobalEval, + * generic/tkBind.c: TkpSetMainMenubar, TkpMenuNotifyToplevelCreate, + * generic/tkMenu.c: and TkSetWindowMenuBar + * generic/tkDecls.h: (regenerated) + * generic/tkIntDecls.h: (regenerated) + * carbon/tkMacOSXMenu.c: + * macosx/tkMacOSXMenu.c: + * unix/tkUnixMenu.c: + * win/tkWinMenu.c: 2010-05-03 Don Porter <dgp@users.sourceforge.net> diff --git a/win/tkWinX.c b/win/tkWinX.c index a0f69ab..75752fe 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.64 2010/04/29 15:28:04 nijtmans Exp $ + * RCS: @(#) $Id: tkWinX.c,v 1.65 2010/05/20 22:48:13 dkf Exp $ */ /* @@ -1632,10 +1632,14 @@ HandleIMEComposition( * We set send_event to the special value of -2, so that TkpGetString * in tkWinKey.c knows that trans_chars[] already contains a UNICODE * char and there's no need to do encoding conversion. + * + * Note that the event *must* be zeroed out first; Tk plays cunning + * games with the overalls structure. [Bug 2992129] */ winPtr = (TkWindow *) Tk_HWNDToWindow(hwnd); + memset(&event, 0, sizeof(XEvent)); event.xkey.serial = winPtr->display->request++; event.xkey.send_event = -2; event.xkey.display = winPtr->display; |