diff options
author | rsc <devnull@localhost> | 2003-11-25 01:40:27 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2003-11-25 01:40:27 +0000 |
commit | f7012583e9a7594cbb5ebe8e974bb69061189262 (patch) | |
tree | 8eb3244abdd1eed893cad51ce12fccb0a9f7a1f7 /src/libdraw | |
parent | dc13c29ed174fd15e0b025ca4fea8af71015067d (diff) | |
download | plan9port-f7012583e9a7594cbb5ebe8e974bb69061189262.tar.gz plan9port-f7012583e9a7594cbb5ebe8e974bb69061189262.tar.bz2 plan9port-f7012583e9a7594cbb5ebe8e974bb69061189262.zip |
Add the #goo to allow use in C++.
Silence a few more warnings.
Strip down the mkfiles more.
Fix bug in X11 mouse handling, note groups.
Diffstat (limited to 'src/libdraw')
-rw-r--r-- | src/libdraw/BOT | 0 | ||||
-rw-r--r-- | src/libdraw/x11-init.c | 9 | ||||
-rw-r--r-- | src/libdraw/x11-itrans.c | 11 |
3 files changed, 18 insertions, 2 deletions
diff --git a/src/libdraw/BOT b/src/libdraw/BOT deleted file mode 100644 index e69de29b..00000000 --- a/src/libdraw/BOT +++ /dev/null diff --git a/src/libdraw/x11-init.c b/src/libdraw/x11-init.c index e402dee2..73df170f 100644 --- a/src/libdraw/x11-init.c +++ b/src/libdraw/x11-init.c @@ -26,6 +26,15 @@ _initdisplay(void (*error)(Display*, char*), char *label) Display *d; Memimage *m; + /* + * This rfork(RFNOTEG) isn't exactly right, + * but we need some way to signal window + * closes. Right now we post a hangup + * note to the note group, which kills a whole + * lot more than just the current program + * if we don't do this. + */ + rfork(RFNOTEG); memimageinit(); d = mallocz(sizeof(Display), 1); diff --git a/src/libdraw/x11-itrans.c b/src/libdraw/x11-itrans.c index b4d9e689..337bf5b6 100644 --- a/src/libdraw/x11-itrans.c +++ b/src/libdraw/x11-itrans.c @@ -190,8 +190,15 @@ xtoplan9mouse(XDisplay *xd, XEvent *e, Mouse *m) switch(e->type){ case ButtonPress: be = (XButtonEvent*)e; - /* Fake message, just sent to make us announce snarf. */ - if(be->send_event && be->state==~0 && be->button==~0) + /* + * Fake message, just sent to make us announce snarf. + * Apparently state and button are 16 and 8 bits on + * the wire, since they are truncated by the time they + * get to us. + */ + if(be->send_event + && (~be->state&0xFFFF)==0 + && (~be->button&0xFF)==0) return -1; /* BUG? on mac need to inherit these from elsewhere? */ m->xy.x = be->x; |