diff options
author | patthoyts <patthoyts@users.sourceforge.net> | 2009-05-21 23:01:33 (GMT) |
---|---|---|
committer | patthoyts <patthoyts@users.sourceforge.net> | 2009-05-21 23:01:33 (GMT) |
commit | 473fe655bbd25c1af26b5f1f80c276a1a41e15fb (patch) | |
tree | 0fc12ef4b3de3f7adf50d3d7b3d83fb1b977d7f6 | |
parent | 5a966747464966ed42006979a0db4c42d66f0799 (diff) | |
download | tk-473fe655bbd25c1af26b5f1f80c276a1a41e15fb.zip tk-473fe655bbd25c1af26b5f1f80c276a1a41e15fb.tar.gz tk-473fe655bbd25c1af26b5f1f80c276a1a41e15fb.tar.bz2 |
[Bug 2794778]: backported fix for keyboard transversal of the menus on Windows.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | win/tkWinMenu.c | 9 |
2 files changed, 10 insertions, 4 deletions
@@ -1,3 +1,8 @@ +2009-05-21 Pat Thoyts <patthoyts@users.sourceforge.net> + + * win/tkWinMenu.c: [Bug 2794778]: Backported fix for keyboard + traversal of the menus on Windows. + 2009-05-14 Pat Thoyts <patthoyts@users.sourceforge.net> * generic/tkButton.c: [Bug 1923684]: backported checkbutton fix diff --git a/win/tkWinMenu.c b/win/tkWinMenu.c index 004cd14..84bd49d 100644 --- a/win/tkWinMenu.c +++ b/win/tkWinMenu.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: tkWinMenu.c,v 1.59.2.1 2009/02/23 10:37:38 patthoyts Exp $ + * RCS: @(#) $Id: tkWinMenu.c,v 1.59.2.2 2009/05/21 23:01:33 patthoyts Exp $ */ #define OEMRESOURCE @@ -1981,14 +1981,15 @@ TkWinMenuKeyObjCmd( virtualKey = XKeysymToKeycode(winPtr->display, keySym); scanCode = MapVirtualKey(virtualKey, 0); if (0 != scanCode) { + XKeyEvent xkey = eventPtr->xkey; CallWindowProc(DefWindowProc, Tk_GetHWND(Tk_WindowId(tkwin)), WM_SYSKEYDOWN, virtualKey, (int) ((scanCode << 16) | (1 << 29))); - if (eventPtr->xkey.nbytes > 0) { - for (i = 0; i < eventPtr->xkey.nbytes; i++) { + if (xkey.nbytes > 0) { + for (i = 0; i < xkey.nbytes; i++) { CallWindowProc(DefWindowProc, Tk_GetHWND(Tk_WindowId(tkwin)), WM_SYSCHAR, - eventPtr->xkey.trans_chars[i], + xkey.trans_chars[i], (int) ((scanCode << 16) | (1 << 29))); } } |