Mercurial > dwindows
diff os2/dw.c @ 300:4559a2fd2db2
Keypress handler fixes, more need to be done, because I screwed up and
looked at PMWIN.H instead of the OS/2 header.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 27 Mar 2003 10:43:58 +0000 |
parents | caed245ea8a1 |
children | 9d13efce2894 |
line wrap: on
line diff
--- a/os2/dw.c Thu Mar 27 08:54:48 2003 +0000 +++ b/os2/dw.c Thu Mar 27 10:43:58 2003 +0000 @@ -197,6 +197,7 @@ return handle; } + /* Return the entryfield child of a window */ HWND _find_entryfield(HWND handle) { @@ -1974,7 +1975,7 @@ { int (* API keypressfunc)(HWND, char, int, int, void *) = (int (* API)(HWND, char, int, int, void *))tmp->signalfunction; - if(hWnd == tmp->window && !(SHORT1FROMMP(mp1) & KC_KEYUP)) + if((hWnd == tmp->window || _toplevel_window(hWnd) == tmp->window) && !(SHORT1FROMMP(mp1) & KC_KEYUP)) { int vk; char ch = 0; @@ -1984,7 +1985,7 @@ if(SHORT1FROMMP(mp1) & KC_VIRTUALKEY) vk = SHORT2FROMMP(mp2); else - vk = SHORT1FROMMP(mp2); + vk = SHORT1FROMMP(mp2) + 128; /* This is a hack to fix shift presses showing * up as tabs!