diff options
author | joerg <joerg@pkgsrc.org> | 2006-01-19 00:59:27 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2006-01-19 00:59:27 +0000 |
commit | 4ad6b64c4010846664eec8647d644901f30de2fb (patch) | |
tree | 4dc291661f0a3c25b93ac75144df5f8c76b0ebc7 /x11/xorg-libs/patches | |
parent | 4f06dd939bfae08762c9374fca5dc1f2b9e8c742 (diff) | |
download | pkgsrc-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-bc | 30 | ||||
-rw-r--r-- | x11/xorg-libs/patches/patch-bl | 24 |
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) { |