From 390cfcfb235f8ef61e0467216902c4d718f51ad0 Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Fri, 20 Mar 2009 15:59:55 +0000 Subject: 20090320-1559 --- CHANGES | 3 +++ emu/port/win-x11a.c | 11 ++++++----- include/version.h | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index 70ce623c..151462cd 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +20090320 + emu/port/win-x11a.c: unintuitively use xdisplay not xkbdcon to send to kbdproc (with big stack) to change cursor + (the big stack is needed because XCreateBitmapFromData and XPutImage pass control to theme-related code that uses lots of stack space) 20090222 appl/cmd/ndb/registry.b and dis/registry.dis - implement flush for event file (issue 162) 20090217 diff --git a/emu/port/win-x11a.c b/emu/port/win-x11a.c index 90f50b97..424a09a2 100644 --- a/emu/port/win-x11a.c +++ b/emu/port/win-x11a.c @@ -33,8 +33,6 @@ #define Visual XVisual #define Window XWindow -#define XLIB_ILLEGAL_ACCESS - #include #include #include @@ -595,14 +593,15 @@ xcursnotify(void) { XClientMessageEvent e; -return; /* temporarily disable cursor setting done this way, to avoid upsetting xcb */ memset(&e, 0, sizeof e); e.type = ClientMessage; e.window = xdrawable; e.message_type = cursorchange; e.format = 8; - XSendEvent(xkbdcon, xdrawable, True, KeyPressMask, (XEvent*)&e); - XFlush(xkbdcon); + XLockDisplay(xdisplay); + XSendEvent(xdisplay, xdrawable, True, KeyPressMask, (XEvent*)&e); + XFlush(xdisplay); + XUnlockDisplay(xdisplay); } void @@ -630,6 +629,8 @@ drawcursor(Drawcursor* c) xcursunlock(); h = (c->maxy-c->miny)/2; /* image, then mask */ + if(h > CursorSize) + h = CursorSize; bpl = bytesperline(Rect(c->minx, c->miny, c->maxx, c->maxy), 1); w = bpl; if(w > CursorSize/8) diff --git a/include/version.h b/include/version.h index 4b7d3b64..b7724707 100644 --- a/include/version.h +++ b/include/version.h @@ -1 +1 @@ -#define VERSION "Fourth Edition (20090303)" +#define VERSION "Fourth Edition (20090320)" -- cgit v1.2.3