diff options
author | bjs <bjs@pkgsrc.org> | 2008-01-29 03:50:25 +0000 |
---|---|---|
committer | bjs <bjs@pkgsrc.org> | 2008-01-29 03:50:25 +0000 |
commit | 233d11dfc7ff6ec3222c046476a41944b4e78cd9 (patch) | |
tree | f165bda5abd5a6716e8b96cf37d298212692f8b8 /x11/libXdamage/patches/patch-aa | |
parent | a3a302dab7ddd0d5a69804454e2316425edef54b (diff) | |
download | pkgsrc-233d11dfc7ff6ec3222c046476a41944b4e78cd9.tar.gz |
Bump rev for patch for this problem (from freedesktop.org GIT):
libXdamage incorrectly encodes/decodes the 'More' field from the event.
The client library for xdamage currently fails to fill in the 'more'
field. As a result, you get whatever uninitialised junk was there
before.
The server sets the high bit of 'level' when there is
'more' (DamageNotifyMore = 0x80). A patch follows to fix the client
library.
Diffstat (limited to 'x11/libXdamage/patches/patch-aa')
-rw-r--r-- | x11/libXdamage/patches/patch-aa | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/x11/libXdamage/patches/patch-aa b/x11/libXdamage/patches/patch-aa new file mode 100644 index 00000000000..a7f063a122d --- /dev/null +++ b/x11/libXdamage/patches/patch-aa @@ -0,0 +1,33 @@ +$NetBSD: patch-aa,v 1.1 2008/01/29 03:50:26 bjs Exp $ + +libXdamage incorrectly encodes/decodes the 'More' field from the event. + +The client library for xdamage currently fails to fill in the 'more' +field. As a result, you get whatever uninitialised junk was there +before. + +The server sets the high bit of 'level' when there is +'more' (DamageNotifyMore = 0x80). A patch follows to fix the client +library. (from GIT) + +--- src/Xdamage.c.orig 2007-01-09 19:20:57.000000000 -0500 ++++ src/Xdamage.c +@@ -231,7 +231,8 @@ XDamageWireToEvent(Display *dpy, XEvent + aevent->display = dpy; + aevent->drawable = awire->drawable; + aevent->damage = awire->damage; +- aevent->level = awire->level; ++ aevent->level = awire->level & ~DamageNotifyMore; ++ aevent->more = (awire->level & DamageNotifyMore) ? True : False; + aevent->timestamp = awire->timestamp; + aevent->area.x = awire->area.x; + aevent->area.y = awire->area.y; +@@ -264,7 +265,7 @@ XDamageEventToWire(Display *dpy, XEvent + awire->type = aevent->type | (aevent->send_event ? 0x80 : 0); + awire->drawable = aevent->drawable; + awire->damage = aevent->damage; +- awire->level = aevent->level; ++ awire->level = aevent->level | (aevent->more ? DamageNotifyMore : 0); + awire->timestamp = aevent->timestamp; + awire->area.x = aevent->area.x; + awire->area.y = aevent->area.y; |