commit - 6135b41c7dbfdf5ac1840a1d1d4f20505e429278
commit + 4b58d457076fa1ee3d86ed31162a0721ebf44862
blob - 8d615a5adba2bc19a80ce276023bc84c23f7c70f
blob + 87be2fa59f79e4abb559557dd462b752407aa544
--- CONTRIBUTORS
+++ CONTRIBUTORS
Enrique Soriano <enrique.soriano@gmail.com>
Eoghan Sherry <ejsherry@gmail.com>
Fazlul Shahriar <fshahriar@gmail.com>
+Justin Davis <jrcd83@gmail.com>
J.R. Mauro <jrm8005@gmail.com>
Jani Lahtinen <jani.lahtinen8@gmail.com>
Jeff Sickel <jas@corpus-callosum.com>
blob - 074cf0d7666530039402888dc8fdab233481828e
blob + 7abf212ef51443490c353f4494ecf8673e01e78a
--- src/cmd/devdraw/devdraw.h
+++ src/cmd/devdraw/devdraw.h
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
}
return k+0;
+}
+
+int alting;
+
+void
+abortcompose(void)
+{
+ alting = 0;
}
extern int _latin1(Rune*, int);
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
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;
if(kbd.ri == kbd.wi)
kbd.stall = 1;
matchkbd();
+ break;
+
+ case FocusOut:
+ abortcompose();
break;
case SelectionRequest: