--- libxfixes-5.0.orig/autogen.sh +++ libxfixes-5.0/autogen.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" --- libxfixes-5.0.orig/debian/copyright +++ libxfixes-5.0/debian/copyright @@ -0,0 +1,44 @@ +This package was downloaded from +http://xorg.freedesktop.org/releases/individual/lib/ + + +Copyright © 2001,2003 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Keith Packard not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Keith Packard makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. --- libxfixes-5.0.orig/debian/changelog +++ libxfixes-5.0/debian/changelog @@ -0,0 +1,274 @@ +libxfixes (1:5.0-4ubuntu5) quantal; urgency=low + + * Rebuild for new armel compiler default of ARMv5t. + + -- Colin Watson Fri, 05 Oct 2012 10:46:53 +0100 + +libxfixes (1:5.0-4ubuntu4) precise; urgency=low + + * debian/patches/01_fixesproto-v6.diff: + - Fix BarrierNotifyEvent layout (again), so that the xany union member + contains a valid Display. Fixes crashes in Qt event handling. + * debian/control: + - Declare a Breaks against unity; it's the only user of this ABI, + and not an upstream ABI break. + + -- Christopher James Halse Rogers Tue, 13 Mar 2012 22:00:04 +1100 + +libxfixes (1:5.0-4ubuntu3) precise; urgency=low + + * Revert previous upload; this changes ABI, breaking the Unity launcher + reveal behaviour. + + -- Christopher James Halse Rogers Tue, 13 Mar 2012 14:37:41 +1100 + +libxfixes (1:5.0-4ubuntu2) precise; urgency=low + + * debian/patches/01_fixesproto-v6.diff: + - Fix BarrierNotifyEvent layout, so that the xany union member + contains a valid Display. Fixes crashes in Qt event handling. + + -- Christopher James Halse Rogers Tue, 13 Mar 2012 10:01:44 +1100 + +libxfixes (1:5.0-4ubuntu1) precise; urgency=low + + * debian/control: + - Bump x11proto-fixes build dep to pick up v6 protocol. + * debian/patches/01_fixesproto-v6.diff: + - Add support for proposed protocol. This is LIKELY TO CHANGE before + 12.04 release. + * debian/libxfixes3.symbols: + - Add new symbols from proposed protocol + + -- Christopher James Halse Rogers Fri, 27 Jan 2012 18:47:43 +1100 + +libxfixes (1:5.0-4) unstable; urgency=low + + * Team upload. + * Don't include debug symbols for the udeb in libxfixes3-dbg. + + -- Julien Cristau Sun, 12 Jun 2011 00:16:17 +0200 + +libxfixes (1:5.0-3) unstable; urgency=low + + * Team upload. + + [ Steve Langasek ] + * Build for multiarch. + + [ Julien Cristau ] + * Bump Standards-Version to 3.9.2. + + -- Julien Cristau Sat, 11 Jun 2011 16:01:20 +0200 + +libxfixes (1:5.0-2) unstable; urgency=low + + [ Julien Cristau ] + * libxfixes3.symbols: no need to use a version for symbols that are there + forever (or close enough). + * Upload to unstable. + + [ Cyril Brulebois ] + * Remove automake and libtool build-dep, they're pulled in by + dh-autoreconf. + + -- Julien Cristau Fri, 29 Apr 2011 22:48:31 +0200 + +libxfixes (1:5.0-1) experimental; urgency=low + + * New upstream release: + - Pointer barriers. + * Bump x11proto-fixes-dev build-dep accordingly. + * Bump x11proto-fixes-dev dependency for libxfixes3-dev. + * Wrap Depends fields. + * Add debian/libxfixes3.symbols file. + * Pass -c4 to dh_makeshlibs to ensure updates are noticed. + * Update symbols file, and bump shlibs for new symbols: + - XFixesCreatePointerBarrier + - XFixesDestroyPointerBarrier + * Install manpages through dh_install. + * Use --fail-missing instead of --list-missing in dh_install for + additional safety. + * Switch to dh: + - Use debhelper 8. + - Use dh-autoreconf. + * Remove xsfbs accordingly. + * Update Uploaders list. Thanks, David! + * Add a placeholder series file. + * Bump Standards-Version to 3.9.1 (no changes needed). + + -- Cyril Brulebois Wed, 09 Mar 2011 00:02:42 +0100 + +libxfixes (1:4.0.5-1) unstable; urgency=low + + * New upstream release. + * Bump xutils-dev build-dep for xorg-macros 1.8. + * Update debian/copyright from upstream COPYING. + * Bump Standards-Version to 3.9.0. + + -- Julien Cristau Sun, 11 Jul 2010 15:02:30 +0100 + +libxfixes (1:4.0.4-2) unstable; urgency=low + + [ Julien Cristau ] + * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no + good reason. Thanks, Colin Watson! + + [ Brice Goglin ] + * Remove Jamey Sharp and Josh Triplett from Uploaders, closes: #568278. + + [ Cyril Brulebois ] + * Use dh_makeshlibs’s -V argument instead of debian/libxfixes3.shlibs + * Add udeb needed for the graphical installer: libxfixes3-udeb. + * Bump the B-D on libx11-dev to ensure libxfixes3-udeb gets a dependency + on libx11-6-udeb. + * Bump Standards-Version from 3.8.3 to 3.8.4 (no changes needed). + * Add myself to Uploaders. + + -- Cyril Brulebois Thu, 11 Mar 2010 04:56:27 +0100 + +libxfixes (1:4.0.4-1) unstable; urgency=low + + [ Julien Cristau ] + * Remove Branden and Fabio from Uploaders with their permission. + * Don't build-depend on packages with a -1 debian revision. + * Drop the XS- prefix from the Vcs-* control fields. + * Remove x11-common (pre-)dependency from libxfixes3 and libxfixes3-dbg, as + it shouldn't be needed. + * Use ${binary:Version} instead of the equivalent but confusingly-named + ${Source-Version} in debian/control. + * Bump Standards-Version to 3.8.3. + + [ Brice Goglin ] + * Add upstream URL to debian/copyright. + * Drop CVS header from debian/copyright. + * Add a link to www.X.org in the long description. + * Install the upstream ChangeLog. + * Add README.source, bump Standards-Version to 3.8.2. + * Use updated xsfbs, closes: #538584. + * Move -dbg package to section debug. + + [ Timo Aaltonen ] + * New upstream release (closes: #556000). + * Run autoreconf on build. Add build-deps on automake, libtool + and xutils-dev. + * Parse space-separated DEB_BUILD_OPTIONS, and handle parallel=N. + * Drop pre-dependency on x11-common from libxfixes-dev. This was needed + for upgrades from sarge. + + -- Julien Cristau Wed, 25 Nov 2009 18:36:48 +0100 + +libxfixes (1:4.0.3-2) unstable; urgency=low + + * Add XS-Vcs-Browser. + * Upload to unstable. + + -- Julien Cristau Wed, 11 Apr 2007 14:58:20 +0200 + +libxfixes (1:4.0.3-1) experimental; urgency=low + + * Adjust Section values to what the override says. + * Update location of upstream repository from CVS to git in the long + descriptions. + * New upstream release: + + Drop all patches, applied upstream. + * Add XS-Vcs-Git header in debian/control. + + -- Julien Cristau Fri, 16 Feb 2007 16:14:49 +0100 + +libxfixes (1:4.0.1-5) unstable; urgency=low + + * libXfixes: Unlocks the Display without having it locked (Closes: + #400446) + * Add Josh and myself to Uploaders. + + -- Jamey Sharp Mon, 27 Nov 2006 15:19:42 -0800 + +libxfixes (1:4.0.1-4) unstable; urgency=low + + [ Drew Parsons ] + * Bring xfixes 4 into unstable (X11R7.1 transition). + * dbg package has priority extra. + + [ David Nusinow ] + * Add 01_include_xlib.h.diff. Xfixes.h relies on the "Bool" define from + X11/Xlib.h but did not include that header (directly or indirectly) + (closes: #372756) + + -- David Nusinow Mon, 18 Sep 2006 18:09:51 -0400 + +libxfixes (1:4.0.1-3) experimental; urgency=low + + * Add shlibs file due to soversion bump (3.0.0 -> 3.1.0) + + -- David Nusinow Wed, 16 Aug 2006 20:22:46 +0000 + +libxfixes (1:4.0.1-2) experimental; urgency=low + + * Added versioned depends on x11proto-fixes-dev (>= 4.0-1). + Closes: #375124. + * Use dh_installman to install man pages. + + -- Drew Parsons Mon, 14 Aug 2006 18:03:48 +1000 + +libxfixes (1:4.0.1-1) experimental; urgency=low + + * New upstream version. + * Standards version 3.7.2. + * Uses debhelper v5. + + -- Drew Parsons Thu, 27 Jul 2006 23:49:26 +1000 + +libxfixes (1:3.0.1.2-5) UNRELEASED; urgency=low + + * Test for obj-$(DEB_BUILD_GNU_TYPE) before creating it during build; + idempotency fix. + * Run dh_install w/ --list-missing. + + -- Andres Salomon Mon, 17 Jul 2006 01:20:55 -0400 + +libxfixes (1:3.0.1.2-4) unstable; urgency=low + + * Reorder makeshlib command in rules file so that ldconfig is run + properly. Thanks Drew Parsons and Steve Langasek. + + -- David Nusinow Tue, 18 Apr 2006 21:49:58 -0400 + +libxfixes (1:3.0.1.2-3) unstable; urgency=low + + * Remove x11-common depends from libxfixes-dev. Only use pre-depends. Thanks + Steve Langasek. + * Move x11-common depends to versioned pre-depends for libxfixes3. + + -- David Nusinow Thu, 13 Apr 2006 23:08:01 -0400 + +libxfixes (1:3.0.1.2-2) unstable; urgency=low + + * Upload to unstable + + -- David Nusinow Thu, 23 Mar 2006 22:44:37 -0500 + +libxfixes (1:3.0.1.2-1) experimental; urgency=low + + * First upload to Debian + + -- David Nusinow Thu, 29 Dec 2005 20:51:40 -0500 + +libxfixes (1:3.0.0-3) breezy; urgency=low + + * Actually bump the Build-Depends this time. + + -- Daniel Stone Sat, 23 Jul 2005 00:52:21 +1000 + +libxfixes (1:3.0.0-2) breezy; urgency=low + + * Bump Build-Depends on libx11-dev to one which avoids the whole nasty + _XOPEN_SOURCE mess. + + -- Daniel Stone Fri, 22 Jul 2005 23:38:02 +1000 + +libxfixes (1:3.0.0-1) breezy; urgency=low + + * First libxfixes release. + + -- Daniel Stone Mon, 16 May 2005 22:10:17 +1000 --- libxfixes-5.0.orig/debian/watch +++ libxfixes-5.0/debian/watch @@ -0,0 +1,3 @@ +#git=git://anongit.freedesktop.org/xorg/lib/libXfixes +version=3 +http://xorg.freedesktop.org/releases/individual/lib/ libXfixes-(.*)\.tar\.gz --- libxfixes-5.0.orig/debian/README.source +++ libxfixes-5.0/debian/README.source @@ -0,0 +1,49 @@ +------------------------------------------------------ +Quick Guide To Patching This Package For The Impatient +------------------------------------------------------ + +1. Make sure you have quilt installed +2. Unpack the package as usual with "dpkg-source -x" +3. Run the "patch" target in debian/rules +4. Create a new patch with "quilt new" (see quilt(1)) +5. Edit all the files you want to include in the patch with "quilt edit" + (see quilt(1)). +6. Write the patch with "quilt refresh" (see quilt(1)) +7. Run the "clean" target in debian/rules + +Alternatively, instead of using quilt directly, you can drop the patch in to +debian/patches and add the name of the patch to debian/patches/series. + +------------------------------------ +Guide To The X Strike Force Packages +------------------------------------ + +The X Strike Force team maintains X packages in git repositories on +git.debian.org in the pkg-xorg subdirectory. Most upstream packages +are actually maintained in git repositories as well, so they often +just need to be pulled into git.debian.org in a "upstream-*" branch. +Otherwise, the upstream sources are manually installed in the Debian +git repository. + +The .orig.tar.gz upstream source file could be generated using this +"upstream-*" branch in the Debian git repository but it is actually +copied from upstream tarballs directly. + +Due to X.org being highly modular, packaging all X.org applications +as their own independent packages would have created too many Debian +packages. For this reason, some X.org applications have been grouped +into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils, +x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils. +Most packages, including the X.org server itself and all libraries +and drivers are, however maintained independently. + +The Debian packaging is added by creating the "debian-*" git branch +which contains the aforementioned "upstream-*" branch plus the debian/ +repository files. +When a patch has to be applied to the Debian package, two solutions +are involved: +* If the patch is available in one of the upstream branches, it + may be git'cherry-picked into the Debian repository. In this + case, it appears directly in the .diff.gz. +* Otherwise, the patch is added to debian/patches/ which is managed + with quilt as documented in /usr/share/doc/quilt/README.source. --- libxfixes-5.0.orig/debian/libxfixes3-udeb.install +++ libxfixes-5.0/debian/libxfixes3-udeb.install @@ -0,0 +1 @@ +usr/lib/*/libXfixes.so.3* usr/lib --- libxfixes-5.0.orig/debian/libxfixes3.install +++ libxfixes-5.0/debian/libxfixes3.install @@ -0,0 +1 @@ +usr/lib/*/libXfixes.so.3* --- libxfixes-5.0.orig/debian/control +++ libxfixes-5.0/debian/control @@ -0,0 +1,96 @@ +Source: libxfixes +Section: x11 +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian X Strike Force +Uploaders: Drew Parsons , Cyril Brulebois +Build-Depends: + debhelper (>= 8.1.3), + dh-autoreconf, + libx11-dev (>= 2:1.3.3-2), + x11proto-fixes-dev (>= 1:5.0-2ubuntu1~), + pkg-config, + quilt, + xutils-dev (>= 1:7.5+4), +Standards-Version: 3.9.2 +Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/libxfixes +Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/libxfixes.git + +Package: libxfixes3 +Section: libs +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Breaks: unity (<< 5.6.0-0ubuntu2) +Description: X11 miscellaneous 'fixes' extension library + libXfixes provides an X Window System client interface to the 'XFIXES' + extension to the X protocol. + . + It provides support for Region types, and some cursor functions. + . + More information about X.Org can be found at: + + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXfixes + +Package: libxfixes3-udeb +XC-Package-Type: udeb +Section: debian-installer +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Description: X11 miscellaneous 'fixes' extension library + This is a udeb, or a microdeb, for the debian-installer. + +Package: libxfixes3-dbg +Section: debug +Architecture: any +Priority: extra +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libxfixes3 (= ${binary:Version}), +Multi-Arch: same +Description: X11 miscellaneous 'fixes' extension library (debug package) + libXfixes provides an X Window System client interface to the 'XFIXES' + extension to the X protocol. + . + It provides support for Region types, and some cursor functions. + . + This package contains the debug versions of the library found in libxfixes3. + Non-developers likely have little use for this package. + . + More information about X.Org can be found at: + + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXfixes + +Package: libxfixes-dev +Section: libdevel +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libxfixes3 (= ${binary:Version}), + libx11-dev, + x11proto-fixes-dev (>= 1:5.0-1), +Description: X11 miscellaneous 'fixes' extension library (development headers) + libXfixes provides an X Window System client interface to the 'XFIXES' + extension to the X protocol. + . + It provides support for Region types, and some cursor functions. + . + This package contains the development headers for the library found in + libxfixes3. Non-developers likely have little use for this package. + . + More information about X.Org can be found at: + + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXfixes --- libxfixes-5.0.orig/debian/libxfixes3.symbols +++ libxfixes-5.0/debian/libxfixes3.symbols @@ -0,0 +1,42 @@ +libXfixes.so.3 libxfixes3 #MINVER# + XFixesBarrierReleasePointer@Base 1:5.0-4ubuntu1 + XFixesChangeCursor@Base 0 + XFixesChangeCursorByName@Base 0 + XFixesChangeSaveSet@Base 0 + XFixesCopyRegion@Base 0 + XFixesCreatePointerBarrier@Base 1:5.0 + XFixesCreatePointerBarrierVelocity@Base 1:5.0-4ubuntu1 + XFixesCreateRegion@Base 0 + XFixesCreateRegionFromBitmap@Base 0 + XFixesCreateRegionFromGC@Base 0 + XFixesCreateRegionFromPicture@Base 0 + XFixesCreateRegionFromWindow@Base 0 + XFixesDestroyPointerBarrier@Base 1:5.0 + XFixesDestroyRegion@Base 0 + XFixesExpandRegion@Base 0 + XFixesExtensionInfo@Base 0 + XFixesExtensionName@Base 0 + XFixesFetchRegion@Base 0 + XFixesFetchRegionAndBounds@Base 0 + XFixesFindDisplay@Base 0 + XFixesGetCursorImage@Base 0 + XFixesGetCursorName@Base 0 + XFixesHideCursor@Base 1:4.0.1 + XFixesIntersectRegion@Base 0 + XFixesInvertRegion@Base 0 + XFixesQueryExtension@Base 0 + XFixesQueryVersion@Base 0 + XFixesRegionExtents@Base 0 + XFixesSelectBarrierInput@Base 1:5.0-4ubuntu1 + XFixesSelectCursorInput@Base 0 + XFixesSelectSelectionInput@Base 0 + XFixesSetCursorName@Base 0 + XFixesSetGCClipRegion@Base 0 + XFixesSetPictureClipRegion@Base 0 + XFixesSetRegion@Base 0 + XFixesSetWindowShapeRegion@Base 0 + XFixesShowCursor@Base 1:4.0.1 + XFixesSubtractRegion@Base 0 + XFixesTranslateRegion@Base 0 + XFixesUnionRegion@Base 0 + XFixesVersion@Base 0 --- libxfixes-5.0.orig/debian/libxfixes-dev.install +++ libxfixes-5.0/debian/libxfixes-dev.install @@ -0,0 +1,5 @@ +usr/include/X11/* +usr/lib/*/libXfixes.a +usr/lib/*/libXfixes.so +usr/lib/*/pkgconfig/xfixes.pc +usr/share/man/man3/* --- libxfixes-5.0.orig/debian/rules +++ libxfixes-5.0/debian/rules @@ -0,0 +1,25 @@ +#!/usr/bin/make -f + +PACKAGE = libxfixes3 +SHLIBS = 1:5.0 + +# Install in debian/tmp to retain control through dh_install: +override_dh_auto_install: + dh_auto_install --destdir=debian/tmp + +# Kill *.la files, and forget no-one: +override_dh_install: + find debian/tmp -name '*.la' -delete + dh_install --fail-missing + +# Debug package: +override_dh_strip: + dh_strip -p$(PACKAGE) --dbg-package=$(PACKAGE)-dbg + dh_strip -N$(PACKAGE) + +# Shlibs: +override_dh_makeshlibs: + dh_makeshlibs -V"$(PACKAGE) (>= $(SHLIBS))" --add-udeb=$(PACKAGE)-udeb -- -c4 + +%: + dh $@ --with quilt,autoreconf --builddirectory=build/ --- libxfixes-5.0.orig/debian/compat +++ libxfixes-5.0/debian/compat @@ -0,0 +1 @@ +9 --- libxfixes-5.0.orig/debian/patches/series +++ libxfixes-5.0/debian/patches/series @@ -0,0 +1 @@ +01_fixesproto-v6.diff --- libxfixes-5.0.orig/debian/patches/01_fixesproto-v6.diff +++ libxfixes-5.0/debian/patches/01_fixesproto-v6.diff @@ -0,0 +1,202 @@ +commit 5251cfa60a123a73e8261ea654200eba1e653b33 +Author: Christopher James Halse Rogers +Date: Fri Jan 27 18:32:45 2012 +1100 + + libXFixes v6: Pointer barrier improvements + +Index: libxfixes-dev/include/X11/extensions/Xfixes.h +=================================================================== +--- libxfixes-dev.orig/include/X11/extensions/Xfixes.h 2012-03-13 09:36:56.810984004 +1100 ++++ libxfixes-dev/include/X11/extensions/Xfixes.h 2012-03-13 09:39:08.842990643 +1100 +@@ -259,11 +259,48 @@ + int x2, int y2, int directions, + int num_devices, int *devices); + ++PointerBarrier ++XFixesCreatePointerBarrierVelocity(Display *dpy, Window w, int x1, int y1, ++ int x2, int y2, int directions, int velocity, ++ int num_devices, int *devices); ++ + void + XFixesDestroyPointerBarrier(Display *dpy, PointerBarrier b); + + #endif /* XFIXES_MAJOR >= 5 */ + ++#if XFIXES_MAJOR >= 6 ++ ++typedef int32_t BarrierEventID; ++ ++typedef struct { ++ int type; /* event base */ ++ unsigned long serial; ++ Bool send_event; ++ Display *display; ++ Window window; ++ int subtype; ++ BarrierEventID event_id; ++ int directions; ++ PointerBarrier barrier; ++ int x; ++ int y; ++ int velocity; ++ Time timestamp; ++} XFixesBarrierNotifyEvent; ++ ++void ++XFixesSelectBarrierInput (Display *dpy, ++ Window win, ++ unsigned long eventMask); ++ ++void ++XFixesBarrierReleasePointer(Display *dpy, ++ PointerBarrier b, ++ BarrierEventID event_id); ++ ++#endif ++ + _XFUNCPROTOEND + + #endif /* _XFIXES_H_ */ +Index: libxfixes-dev/src/Cursor.c +=================================================================== +--- libxfixes-dev.orig/src/Cursor.c 2012-03-13 09:36:56.810984004 +1100 ++++ libxfixes-dev/src/Cursor.c 2012-03-13 09:38:44.842989436 +1100 +@@ -334,3 +334,84 @@ + UnlockDisplay (dpy); + SyncHandle(); + } ++ ++void ++XFixesSelectBarrierInput (Display *dpy, Window win, unsigned long eventMask) ++{ ++ XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); ++ xXFixesSelectBarrierInputReq *req; ++ ++ XFixesSimpleCheckExtension (dpy, info); ++ if (info->major_version < 6) ++ return; ++ ++ LockDisplay (dpy); ++ GetReq (XFixesSelectBarrierInput, req); ++ req->reqType = info->codes->major_opcode; ++ req->xfixesReqType = X_XFixesSelectBarrierInput; ++ req->window = win; ++ req->eventMask = eventMask; ++ UnlockDisplay (dpy); ++ SyncHandle(); ++} ++ ++PointerBarrier ++XFixesCreatePointerBarrierVelocity(Display *dpy, Window w, int x1, int y1, ++ int x2, int y2, int directions, int velocity, ++ int num_devices, int *devices) ++{ ++ XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); ++ xXFixesCreatePointerBarrierVelocityReq *req; ++ PointerBarrier barrier; ++ int extra = 0; ++ ++ XFixesCheckExtension (dpy, info, 0); ++ if (info->major_version < 6) ++ return 0; ++ ++ if (num_devices) ++ extra = (((2 * num_devices) + 3) / 4) * 4; ++ ++ LockDisplay (dpy); ++ GetReqExtra (XFixesCreatePointerBarrierVelocity, extra, req); ++ req->reqType = info->codes->major_opcode; ++ req->xfixesReqType = X_XFixesCreatePointerBarrierVelocity; ++ barrier = req->barrier = XAllocID (dpy); ++ req->window = w; ++ req->x1 = x1; ++ req->y1 = y1; ++ req->x2 = x2; ++ req->y2 = y2; ++ req->directions = directions; ++ req->velocity = velocity; ++ if ((req->num_devices = num_devices)) { ++ int i; ++ CARD16 *devs = (CARD16 *)(req + 1); ++ for (i = 0; i < num_devices; i++) ++ devs[i] = (CARD16)(devices[i]); ++ } ++ ++ UnlockDisplay (dpy); ++ SyncHandle(); ++ return barrier; ++} ++ ++void ++XFixesBarrierReleasePointer(Display *dpy, PointerBarrier b, BarrierEventID event_id) ++{ ++ XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); ++ xXFixesBarrierReleasePointerReq *req; ++ ++ XFixesSimpleCheckExtension (dpy, info); ++ if (info->major_version < 6) ++ return; ++ ++ LockDisplay (dpy); ++ GetReq (XFixesBarrierReleasePointer, req); ++ req->reqType = info->codes->major_opcode; ++ req->xfixesReqType = X_XFixesBarrierReleasePointer; ++ req->barrier = b; ++ req->event_id = event_id; ++ UnlockDisplay (dpy); ++ SyncHandle(); ++} +Index: libxfixes-dev/src/Xfixes.c +=================================================================== +--- libxfixes-dev.orig/src/Xfixes.c 2012-03-13 09:36:56.810984004 +1100 ++++ libxfixes-dev/src/Xfixes.c 2012-03-13 09:38:44.842989436 +1100 +@@ -253,6 +253,26 @@ + aevent->cursor_name = awire->name; + return True; + } ++ case XFixesBarrierNotify: { ++ XFixesBarrierNotifyEvent *aevent; ++ xXFixesBarrierNotifyEvent *awire; ++ awire = (xXFixesBarrierNotifyEvent *)wire; ++ aevent = (XFixesBarrierNotifyEvent *)event; ++ aevent->type = awire->type & 0x7F; ++ aevent->subtype = awire->subtype; ++ aevent->serial = _XSetLastRequestRead(dpy, ++ (xGenericReply *) wire); ++ aevent->send_event = (awire->type & 0x80) != 0; ++ aevent->display = dpy; ++ aevent->window = awire->window; ++ aevent->event_id = awire->event_id; ++ aevent->barrier = awire->barrier; ++ aevent->x = awire->x; ++ aevent->y = awire->y; ++ aevent->velocity = awire->velocity; ++ aevent->timestamp = awire->timestamp; ++ return True; ++ } + } + return False; + } +@@ -292,6 +312,22 @@ + awire->cursorSerial = aevent->cursor_serial; + awire->name = aevent->cursor_name; + } ++ case XFixesBarrierNotify: { ++ XFixesBarrierNotifyEvent *aevent; ++ xXFixesBarrierNotifyEvent *awire; ++ awire = (xXFixesBarrierNotifyEvent *)wire; ++ aevent = (XFixesBarrierNotifyEvent *)event; ++ awire->type = aevent->type | (aevent->send_event ? 0x80 : 0); ++ awire->subtype = aevent->subtype; ++ awire->window = aevent->window; ++ awire->event_id = aevent->event_id; ++ awire->barrier = aevent->barrier; ++ awire->x = aevent->x; ++ awire->y = aevent->y; ++ awire->velocity = aevent->velocity; ++ awire->timestamp = aevent->timestamp; ++ return True; ++ } + } + return False; + }