commit 4b58d457076fa1ee3d86ed31162a0721ebf44862 from: Justin Davis via: Russ Cox date: Wed Sep 28 18:11:32 2011 UTC devdraw: do not interpret alt-tab as alt for compose R=rsc CC=plan9port.codebot http://codereview.appspot.com/5132050 commit - 6135b41c7dbfdf5ac1840a1d1d4f20505e429278 commit + 4b58d457076fa1ee3d86ed31162a0721ebf44862 blob - 8d615a5adba2bc19a80ce276023bc84c23f7c70f blob + 87be2fa59f79e4abb559557dd462b752407aa544 --- CONTRIBUTORS +++ CONTRIBUTORS @@ -15,6 +15,7 @@ David Swasey Enrique Soriano Eoghan Sherry Fazlul Shahriar +Justin Davis J.R. Mauro Jani Lahtinen Jeff Sickel blob - 074cf0d7666530039402888dc8fdab233481828e blob + 7abf212ef51443490c353f4494ecf8673e01e78a --- src/cmd/devdraw/devdraw.h +++ src/cmd/devdraw/devdraw.h @@ -4,4 +4,6 @@ void _initdisplaymemimage(Memimage*); int _latin1(Rune*, int); int parsewinsize(char*, Rectangle*, int*); int mouseswap(int); +void abortcompose(void); + blob - ff127c040b20727e16f2e786295863bf71f909c3 blob + 7a4df248e26461a1def2d6f8b59557c54ccd27d4 --- src/cmd/devdraw/x11-itrans.c +++ src/cmd/devdraw/x11-itrans.c @@ -135,6 +135,14 @@ __xtoplan9kbd(XEvent *e) } return k+0; +} + +int alting; + +void +abortcompose(void) +{ + alting = 0; } extern int _latin1(Rune*, int); @@ -142,7 +150,7 @@ static Rune* xtoplan9latin1(XEvent *e) { static Rune k[10]; - static int alting, nk; + static int nk; int n; int r; blob - 2035a068178a41f431163d6cdfb2a6dd991782a2 blob + 5a4be7053b2eb93b100e89a6a6d77a43ff089f27 --- src/cmd/devdraw/x11-srv.c +++ src/cmd/devdraw/x11-srv.c @@ -36,7 +36,7 @@ Button2MotionMask|\ Button3MotionMask) -#define Mask MouseMask|ExposureMask|StructureNotifyMask|KeyPressMask|EnterWindowMask|LeaveWindowMask +#define Mask MouseMask|ExposureMask|StructureNotifyMask|KeyPressMask|EnterWindowMask|LeaveWindowMask|FocusChangeMask typedef struct Kbdbuf Kbdbuf; typedef struct Mousebuf Mousebuf; @@ -547,6 +547,10 @@ runxevent(XEvent *xev) if(kbd.ri == kbd.wi) kbd.stall = 1; matchkbd(); + break; + + case FocusOut: + abortcompose(); break; case SelectionRequest: