summaryrefslogtreecommitdiff
path: root/x11/xorg-libs/patches
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2006-01-19 00:59:27 +0000
committerjoerg <joerg@pkgsrc.org>2006-01-19 00:59:27 +0000
commit4ad6b64c4010846664eec8647d644901f30de2fb (patch)
tree4dc291661f0a3c25b93ac75144df5f8c76b0ebc7 /x11/xorg-libs/patches
parent4f06dd939bfae08762c9374fca5dc1f2b9e8c742 (diff)
downloadpkgsrc-4ad6b64c4010846664eec8647d644901f30de2fb.tar.gz
Revive patch-bc (updated) and patch-bl. The former gets the correct
readdir and getpwuid handling for DragonFly, avoids the mouse problems due to use of floating point math in a signal handler (xorg-server).
Diffstat (limited to 'x11/xorg-libs/patches')
-rw-r--r--x11/xorg-libs/patches/patch-bc30
-rw-r--r--x11/xorg-libs/patches/patch-bl24
2 files changed, 54 insertions, 0 deletions
diff --git a/x11/xorg-libs/patches/patch-bc b/x11/xorg-libs/patches/patch-bc
new file mode 100644
index 00000000000..6543b685f7b
--- /dev/null
+++ b/x11/xorg-libs/patches/patch-bc
@@ -0,0 +1,30 @@
+$NetBSD: patch-bc,v 1.5 2006/01/19 00:59:27 joerg Exp $
+
+--- include/Xos_r.h.orig 2005-07-13 07:23:56.000000000 +0000
++++ include/Xos_r.h
+@@ -208,6 +208,9 @@ extern void XtProcessUnlock(
+ # undef _POSIX_THREAD_SAFE_FUNCTIONS
+ #endif
+
++#if defined(__DragonFly__)
++#define XNO_MTSAFE_PWDAPI 1
++#endif
+
+ /***** <pwd.h> wrappers *****/
+
+@@ -655,6 +658,15 @@ extern int _Preaddir_r(DIR *, struct dir
+ # elif defined(SVR4)
+ /* Pre-POSIX API, returns non-NULL on success. */
+ # define _XReaddir(d,p) (readdir_r((d), &(p).dir_entry))
++#elif defined(__DragonFly__)
++# define _XReaddir(d,p) \
++ ( (_Xos_processLock), \
++ (((p).result = readdir((d))) ? \
++ (memcpy(&((p).dir_entry), (p).result, _DIRENT_MINSIZ((p).result)), \
++ ((p).result = &(p).dir_entry), 0) : \
++ 0), \
++ (_Xos_processUnlock), \
++ (p).result )
+ # else
+ /* We have no idea what is going on. Fake it all using process locks. */
+ # define _XReaddir(d,p) \
diff --git a/x11/xorg-libs/patches/patch-bl b/x11/xorg-libs/patches/patch-bl
new file mode 100644
index 00000000000..74be3e721d1
--- /dev/null
+++ b/x11/xorg-libs/patches/patch-bl
@@ -0,0 +1,24 @@
+$NetBSD: patch-bl,v 1.4 2006/01/19 00:59:27 joerg Exp $
+
+--- programs/Xserver/hw/xfree86/common/xf86Xinput.c.orig 2005-05-16 23:20:56.000000000 +0900
++++ programs/Xserver/hw/xfree86/common/xf86Xinput.c 2005-05-16 23:23:25.000000000 +0900
+@@ -932,15 +932,10 @@
+ /* modeled from xf86Events.c */
+ if (device->ptrfeed->ctrl.threshold) {
+ if ((abs(dx) + abs(dy)) >= device->ptrfeed->ctrl.threshold) {
+- local->dxremaind = ((float)dx * (float)(device->ptrfeed->ctrl.num)) /
+- (float)(device->ptrfeed->ctrl.den) + local->dxremaind;
+- valuator[0] = (int)local->dxremaind;
+- local->dxremaind = local->dxremaind - (float)valuator[0];
+-
+- local->dyremaind = ((float)dy * (float)(device->ptrfeed->ctrl.num)) /
+- (float)(device->ptrfeed->ctrl.den) + local->dyremaind;
+- valuator[1] = (int)local->dyremaind;
+- local->dyremaind = local->dyremaind - (float)valuator[1];
++ valuator[0] = (dx * device->ptrfeed->ctrl.num) /
++ device->ptrfeed->ctrl.den;
++ valuator[1] = (dy * device->ptrfeed->ctrl.num) /
++ device->ptrfeed->ctrl.den;
+ }
+ }
+ else if (dx || dy) {