summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2009-03-20 15:59:55 +0000
committerCharles.Forsyth <devnull@localhost>2009-03-20 15:59:55 +0000
commit390cfcfb235f8ef61e0467216902c4d718f51ad0 (patch)
tree94b6f8f6c4d2fdca7b58830f35a6db06af375ef0
parent64c11045c035558714e24fc4828118337d0744a7 (diff)
20090320-1559
-rw-r--r--CHANGES3
-rw-r--r--emu/port/win-x11a.c11
-rw-r--r--include/version.h2
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 <X11/Xlib.h>
#include <X11/Xatom.h>
#include <X11/Xutil.h>
@@ -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)"