diff options
| author | rsc <devnull@localhost> | 2003-10-11 02:47:43 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2003-10-11 02:47:43 +0000 |
| commit | 161060a46346fa0beeb48b55ed28b2cd330bc4e8 (patch) | |
| tree | ddcba6ab6af148fefd7667f494485ebc3675fa3f /src/libdraw/x11-mouse.c | |
| parent | 4af386f434d5ca3de733951d4f73dd134e879cc2 (diff) | |
| download | plan9port-161060a46346fa0beeb48b55ed28b2cd330bc4e8.tar.gz plan9port-161060a46346fa0beeb48b55ed28b2cd330bc4e8.zip | |
Lots of X fixes.
Diffstat (limited to 'src/libdraw/x11-mouse.c')
| -rw-r--r-- | src/libdraw/x11-mouse.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libdraw/x11-mouse.c b/src/libdraw/x11-mouse.c index c6a26851..6b5b3922 100644 --- a/src/libdraw/x11-mouse.c +++ b/src/libdraw/x11-mouse.c @@ -48,6 +48,7 @@ void _ioproc(void *arg) { int one; + ulong mask; Mouse m; Mousectl *mc; XEvent xevent; @@ -57,9 +58,10 @@ _ioproc(void *arg) threadsetname("mouseproc"); memset(&m, 0, sizeof m); mc->pid = getpid(); + mask = MouseMask|ExposureMask|StructureNotifyMask; + XSelectInput(_x.mousecon, _x.drawable, mask); for(;;){ - XSelectInput(_x.mousecon, _x.drawable, MouseMask|ExposureMask|StructureNotifyMask); - XWindowEvent(_x.mousecon, _x.drawable, MouseMask|ExposureMask|StructureNotifyMask, &xevent); + XNextEvent(_x.mousecon, &xevent); switch(xevent.type){ case Expose: xexpose(&xevent, _x.mousecon); @@ -68,6 +70,9 @@ _ioproc(void *arg) if(xconfigure(&xevent, _x.mousecon)) nbsend(mc->resizec, &one); continue; + case SelectionRequest: + xselect(&xevent, _x.mousecon); + continue; case ButtonPress: case ButtonRelease: case MotionNotify: |
