From 433d8186588698ce6a435fbff5e9d40a37b78be9 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Wed, 8 Jul 2015 16:16:40 +0200 Subject: Clear header file namespace separation ( vs. ). In the process of building nxagent against more and more system-wide installed X.org libraries, we come to the limit of including structs from this (bundled nx-X11) and that (system-wide X.Org) library. This commit introduces a clear namespace separation of headers provided by nx-X11 and headers provided by X.Org. This approach is only temporary as we want to drop all nx-X11 bundled libraries from nx-libs. However, for a while we need to make this separation clear and also ship some reduced fake X.Org headers that avoid pulling in libX* and libNX_X* symbols at the same time. This patch has been tested on Debian jessie and unstable and requires no overall testing on various distros and distro versions, as we finally will drop all libNX_X* libraries and build against X.org's client libs. For now, this hack eases our development / cleanup process. --- debian/libnx-xfixes-dev.install.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'debian/libnx-xfixes-dev.install.in') diff --git a/debian/libnx-xfixes-dev.install.in b/debian/libnx-xfixes-dev.install.in index 96b6cf61c..475c78d0a 100644 --- a/debian/libnx-xfixes-dev.install.in +++ b/debian/libnx-xfixes-dev.install.in @@ -1,2 +1,2 @@ usr/lib/*/libNX_Xfixes.so -usr/include/*/nx/X11/extensions/Xfixes.h +usr/include/*/nx-X11/extensions/Xfixes.h -- cgit v1.2.3 From 6217812c8bf7a7806b776c6e2d28be082cd3e902 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Mon, 28 Dec 2015 19:09:42 +0100 Subject: library clean-up: Don't build libNX_Xfixes anymore. Use system's libXfixes shared library. --- debian/control | 40 ++-- debian/libnx-xfixes-dev.install.in | 2 - debian/libnx-xfixes3.install.in | 1 - debian/libnx-xfixes3.symbols | 35 --- debian/rules | 1 - nx-X11/config/cf/X11.tmpl | 37 --- nx-X11/config/cf/host.def | 2 - nx-X11/include/extensions/Imakefile | 2 +- nx-X11/lib/Imakefile | 5 - nx-X11/lib/Xfixes/Cursor.c | 220 ------------------ nx-X11/lib/Xfixes/Imakefile | 63 ------ nx-X11/lib/Xfixes/Region.c | 441 ------------------------------------ nx-X11/lib/Xfixes/SaveSet.c | 48 ---- nx-X11/lib/Xfixes/Selection.c | 50 ---- nx-X11/lib/Xfixes/Xfixes-def.cpp | 10 - nx-X11/lib/Xfixes/Xfixes.c | 333 --------------------------- nx-X11/lib/Xfixes/Xfixes.h | 220 ------------------ nx-X11/lib/Xfixes/Xfixes.man | 76 ------- nx-X11/lib/Xfixes/Xfixesint.h | 68 ------ nx-X11/programs/Xserver/Imakefile | 6 +- nx-libs.spec | 49 +--- 21 files changed, 22 insertions(+), 1687 deletions(-) delete mode 100644 debian/libnx-xfixes-dev.install.in delete mode 100644 debian/libnx-xfixes3.install.in delete mode 100644 debian/libnx-xfixes3.symbols delete mode 100644 nx-X11/lib/Xfixes/Cursor.c delete mode 100644 nx-X11/lib/Xfixes/Imakefile delete mode 100644 nx-X11/lib/Xfixes/Region.c delete mode 100644 nx-X11/lib/Xfixes/SaveSet.c delete mode 100644 nx-X11/lib/Xfixes/Selection.c delete mode 100644 nx-X11/lib/Xfixes/Xfixes-def.cpp delete mode 100644 nx-X11/lib/Xfixes/Xfixes.c delete mode 100644 nx-X11/lib/Xfixes/Xfixes.h delete mode 100644 nx-X11/lib/Xfixes/Xfixes.man delete mode 100644 nx-X11/lib/Xfixes/Xfixesint.h (limited to 'debian/libnx-xfixes-dev.install.in') diff --git a/debian/control b/debian/control index ecfd5d82a..102d1535b 100644 --- a/debian/control +++ b/debian/control @@ -20,6 +20,7 @@ Build-Depends: libxdamage-dev, libxcomposite-dev, libxrandr-dev, + libxfixes-dev, autoconf, pkg-config, x11proto-core-dev, @@ -477,19 +478,16 @@ Multi-Arch: same Pre-Depends: ${misc:Pre-Depends}, Depends: - ${shlibs:Depends}, ${misc:Depends}, -Breaks: nxlibs (<= 3.5.1), - libnx-x11 (<< 2:3.5.0.29-0x2go2~), -Description: nx-X11 miscellaneous 'fixes' extension library +Description: nx-X11 miscellaneous 'fixes' extension library (dummy package) NX is a software suite which implements very efficient compression of the X11 protocol. This increases performance when using X applications over a network, especially a slow one. . - libNX_Xfixes provides an X Window System client interface to the - 'XFIXES' extension to the X protocol. + This package removes the obsoleted libNX_Xfixes.so.3 library. With + recent versions of NX, the system-wide installed libXfixes gets used. . - It provides support for Region types, and some cursor functions. + This package can be safely removed. Package: libnx-xfixes-dev Provides: libnx-xfixes3-dev @@ -497,22 +495,17 @@ Section: libdevel Architecture: any Multi-Arch: same Depends: - libnx-xfixes3 (= ${binary:Version}), - nx-x11proto-xfixes-dev (= ${binary:Version}), ${misc:Depends}, -Breaks: nxlibs (<= 3.5.1), - libnx-x11-dev (<< 2:3.5.0.29-0x2go2~), -Description: nx-X11 miscellaneous 'fixes' extension library (development headers) +Description: nx-X11 miscellaneous 'fixes' extension library (dummy package) NX is a software suite which implements very efficient compression of the X11 protocol. This increases performance when using X applications over a network, especially a slow one. . - libNX_Xfixes 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 removes the obsoleted headers for the libNX_Xfixes.so.3 + library. With recent versions of NX, the system-wide installed + libXfixes gets used. . - This package contains the development headers for this library. + This package can be safely removed. Package: nx-x11proto-xfixes-dev Section: libdevel @@ -536,21 +529,18 @@ Multi-Arch: same Pre-Depends: ${misc:Pre-Depends}, Depends: - libnx-xfixes3 (= ${binary:Version}), ${misc:Depends}, Section: debug -Breaks: nx-x11-dbg (<< 2:3.5.0.29-0x2go2~), -Description: nx-X11 miscellaneous 'fixes' extension library (debug package) +Description: nx-X11 miscellaneous 'fixes' extension library (dummy package) NX is a software suite which implements very efficient compression of the X11 protocol. This increases performance when using X applications over a network, especially a slow one. . - libNX_Xfixes 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 removes the obsoleted debug symbols for the libNX_Xfixes.so.3 + library. With recent versions of NX, the system-wide installed libXfixes + gets used. . - This package contains debug symbols for this library. + This package can be safely removed. Package: libnx-xinerama1 Architecture: any diff --git a/debian/libnx-xfixes-dev.install.in b/debian/libnx-xfixes-dev.install.in deleted file mode 100644 index 475c78d0a..000000000 --- a/debian/libnx-xfixes-dev.install.in +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib/*/libNX_Xfixes.so -usr/include/*/nx-X11/extensions/Xfixes.h diff --git a/debian/libnx-xfixes3.install.in b/debian/libnx-xfixes3.install.in deleted file mode 100644 index b86ea4ae1..000000000 --- a/debian/libnx-xfixes3.install.in +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/libNX_Xfixes.so.* diff --git a/debian/libnx-xfixes3.symbols b/debian/libnx-xfixes3.symbols deleted file mode 100644 index 2322e490e..000000000 --- a/debian/libnx-xfixes3.symbols +++ /dev/null @@ -1,35 +0,0 @@ -libNX_Xfixes.so.3 libnx-xfixes3 #MINVER# - XFixesChangeCursor@Base 3.5.0.29 - XFixesChangeCursorByName@Base 3.5.0.29 - XFixesChangeSaveSet@Base 3.5.0.29 - XFixesCopyRegion@Base 3.5.0.29 - XFixesCreateRegion@Base 3.5.0.29 - XFixesCreateRegionFromBitmap@Base 3.5.0.29 - XFixesCreateRegionFromGC@Base 3.5.0.29 - XFixesCreateRegionFromPicture@Base 3.5.0.29 - XFixesCreateRegionFromWindow@Base 3.5.0.29 - XFixesDestroyRegion@Base 3.5.0.29 - XFixesExpandRegion@Base 3.5.0.29 - XFixesExtensionInfo@Base 3.5.0.29 - XFixesExtensionName@Base 3.5.0.29 - XFixesFetchRegion@Base 3.5.0.29 - XFixesFetchRegionAndBounds@Base 3.5.0.29 - XFixesFindDisplay@Base 3.5.0.29 - XFixesGetCursorImage@Base 3.5.0.29 - XFixesGetCursorName@Base 3.5.0.29 - XFixesIntersectRegion@Base 3.5.0.29 - XFixesInvertRegion@Base 3.5.0.29 - XFixesQueryExtension@Base 3.5.0.29 - XFixesQueryVersion@Base 3.5.0.29 - XFixesRegionExtents@Base 3.5.0.29 - XFixesSelectCursorInput@Base 3.5.0.29 - XFixesSelectSelectionInput@Base 3.5.0.29 - XFixesSetCursorName@Base 3.5.0.29 - XFixesSetGCClipRegion@Base 3.5.0.29 - XFixesSetPictureClipRegion@Base 3.5.0.29 - XFixesSetRegion@Base 3.5.0.29 - XFixesSetWindowShapeRegion@Base 3.5.0.29 - XFixesSubtractRegion@Base 3.5.0.29 - XFixesTranslateRegion@Base 3.5.0.29 - XFixesUnionRegion@Base 3.5.0.29 - XFixesVersion@Base 3.5.0.29 diff --git a/debian/rules b/debian/rules index 791b99cf3..4fb1cf1bc 100755 --- a/debian/rules +++ b/debian/rules @@ -81,7 +81,6 @@ override_dh_strip: dh_strip -plibnx-x11-6 --dbg-package=libnx-x11-6-dbg dh_strip -plibnx-xau6 --dbg-package=libnx-xau6-dbg dh_strip -plibnx-xext6 --dbg-package=libnx-xext6-dbg - dh_strip -plibnx-xfixes3 --dbg-package=libnx-xfixes3-dbg dh_strip -plibnx-xinerama1 --dbg-package=libnx-xinerama1-dbg dh_strip -plibnx-xrender1 --dbg-package=libnx-xrender1-dbg dh_strip -plibnx-xtst6 --dbg-package=libnx-xtst6-dbg diff --git a/nx-X11/config/cf/X11.tmpl b/nx-X11/config/cf/X11.tmpl index 6f226c3fa..f32cdadbf 100644 --- a/nx-X11/config/cf/X11.tmpl +++ b/nx-X11/config/cf/X11.tmpl @@ -295,9 +295,6 @@ XORGRELSTRING = XorgManVersionString #ifndef BuildXfixes #define BuildXfixes YES #endif -#ifndef BuildXfixesLibrary -#define BuildXfixesLibrary !BuildServersOnly -#endif #ifndef BuildDamage #define BuildDamage BuildXfixes @@ -1372,30 +1369,6 @@ ProjectUnsharedLibReferences(XONLY,NX_X11,$(XLIBSRC),XBuildLibDir) #define ProfileLibXrender NO #endif -#if BuildXfixesLibrary -#ifndef SharedLibXfixes -#define SharedLibXfixes HasSharedLibraries -#endif -#ifndef NormalLibXfixes -#define NormalLibXfixes (!SharedLibXfixes || ForceNormalLib) -#endif -#ifndef DebugLibXfixes -#define DebugLibXfixes NO -#endif -#ifndef ProfileLibXfixes -#define ProfileLibXfixes NO -#endif -#else -#undef SharedLibXfixes -#define SharedLibXfixes NO -#undef NormalLibXfixes -#define NormalLibXfixes NO -#undef DebugLibXfixes -#define DebugLibXfixes NO -#undef ProfileLibXfixes -#define ProfileLibXfixes NO -#endif - #ifndef SharedLibXext #define SharedLibXext HasSharedLibraries #endif @@ -1440,16 +1413,6 @@ ProjectUnsharedLibReferences(XINERAMA,NX_Xinerama,$(XINERAMALIBSRC),XBuildLibDir SharedLibReferences(XRENDER,NX_Xrender,$(XRENDERLIBSRC),SOXRENDERREV,SharedXrenderRev) #else ProjectUnsharedLibReferences(XRENDER,NX_Xrender,$(XRENDERLIBSRC),XBuildLibDir) -#endif - - XFIXESLIBSRC = $(LIBSRC)/Xfixes -#if SharedLibXfixes -#ifndef SharedXfixesRev -#define SharedXfixesRev 3.0 -#endif -SharedLibReferences(XFIXES,NX_Xfixes,$(XFIXESLIBSRC),SOXFIXESREV,SharedXfixesRev) -#else -ProjectUnsharedLibReferences(XFIXES,NX_Xfixes,$(XFIXESLIBSRC),XBuildLibDir) #endif #ifndef SharedLibXau diff --git a/nx-X11/config/cf/host.def b/nx-X11/config/cf/host.def index 9e017d189..f1737a998 100644 --- a/nx-X11/config/cf/host.def +++ b/nx-X11/config/cf/host.def @@ -123,8 +123,6 @@ XCOMM $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $ #define BuildLibraries YES #endif -#define BuildXfixesLibrary YES - #define BuildDocs NO #define BuildComposite YES diff --git a/nx-X11/include/extensions/Imakefile b/nx-X11/include/extensions/Imakefile index 7cb4d2c7b..c31e8531f 100644 --- a/nx-X11/include/extensions/Imakefile +++ b/nx-X11/include/extensions/Imakefile @@ -41,7 +41,7 @@ XINERAMAHEADERS = Xinerama.h panoramiXext.h panoramiXproto.h #if BuildRender RENDERHEADERS = render.h renderproto.h #endif -#if BuildXfixes || BuildXfixesLibrary +#if BuildXfixes XFIXESHEADERS = xfixeswire.h xfixesproto.h #endif #if BuildComposite diff --git a/nx-X11/lib/Imakefile b/nx-X11/lib/Imakefile index f498baf04..7cfffa6d9 100644 --- a/nx-X11/lib/Imakefile +++ b/nx-X11/lib/Imakefile @@ -23,10 +23,6 @@ XINERAMADIR=Xinerama RENDERLIBDIR = Xrender #endif -#if BuildXfixesLibrary -XFIXESLIBDIR = Xfixes -#endif - #if BuildXauLib XAULIBDIR = Xau #endif @@ -54,7 +50,6 @@ LINTSUBDIRS = \ $(XKBLIBDIR) \ $(XINERAMADIR) \ $(RENDERLIBDIR) \ - $(XFIXESLIBDIR) \ $(NULL) SUBDIRS = xtrans $(LINTSUBDIRS) diff --git a/nx-X11/lib/Xfixes/Cursor.c b/nx-X11/lib/Xfixes/Cursor.c deleted file mode 100644 index ada8a681a..000000000 --- a/nx-X11/lib/Xfixes/Cursor.c +++ /dev/null @@ -1,220 +0,0 @@ -/* - * $XFree86: xc/lib/Xfixes/Cursor.c,v 1.1 2002/11/30 06:21:44 keithp Exp $ - * - * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "Xfixesint.h" - -void -XFixesSelectCursorInput (Display *dpy, - Window win, - unsigned long eventMask) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesSelectCursorInputReq *req; - - XFixesSimpleCheckExtension (dpy, info); - - LockDisplay (dpy); - GetReq (XFixesSelectCursorInput, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesSelectCursorInput; - req->window = win; - req->eventMask = eventMask; - UnlockDisplay (dpy); - SyncHandle (); -} - -XFixesCursorImage * -XFixesGetCursorImage (Display *dpy) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesGetCursorImageAndNameReq *req; - xXFixesGetCursorImageAndNameReply rep; - int npixels; - int nbytes_name; - int nbytes, nread, rlength; - XFixesCursorImage *image; - char *name; - - XFixesCheckExtension (dpy, info, 0); - LockDisplay (dpy); - GetReq (XFixesGetCursorImageAndName, req); - req->reqType = info->codes->major_opcode; - if (info->major_version >= 2) - req->xfixesReqType = X_XFixesGetCursorImageAndName; - else - req->xfixesReqType = X_XFixesGetCursorImage; - if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) - { - UnlockDisplay (dpy); - SyncHandle (); - return 0; - } - if (info->major_version < 2) - { - rep.cursorName = None; - rep.nbytes = 0; - } - npixels = rep.width * rep.height; - nbytes_name = rep.nbytes; - /* reply data length */ - nbytes = (long) rep.length << 2; - /* bytes of actual data in the reply */ - nread = (npixels << 2) + nbytes_name; - /* size of data returned to application */ - rlength = (sizeof (XFixesCursorImage) + - npixels * sizeof (unsigned long) + - nbytes_name + 1); - - image = (XFixesCursorImage *) Xmalloc (rlength); - if (!image) - { - _XEatData (dpy, nbytes); - UnlockDisplay (dpy); - SyncHandle (); - return 0; - } - image->x = rep.x; - image->y = rep.y; - image->width = rep.width; - image->height = rep.height; - image->xhot = rep.xhot; - image->yhot = rep.yhot; - image->cursor_serial = rep.cursorSerial; - image->pixels = (unsigned long *) (image + 1); - image->atom = rep.cursorName; - name = (char *) (image->pixels + npixels); - image->name = name; - _XRead32 (dpy, image->pixels, npixels << 2); - _XRead (dpy, name, nbytes_name); - name[nbytes_name] = '\0'; /* null-terminate */ - /* skip any padding */ - if(nbytes > nread) - { - _XEatData (dpy, (unsigned long) (nbytes - nread)); - } - UnlockDisplay (dpy); - SyncHandle (); - return image; -} - -void -XFixesSetCursorName (Display *dpy, Cursor cursor, const char *name) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesSetCursorNameReq *req; - int nbytes = strlen (name); - - XFixesSimpleCheckExtension (dpy, info); - if (info->major_version < 2) - return; - LockDisplay (dpy); - GetReq (XFixesSetCursorName, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesSetCursorName; - req->cursor = cursor; - req->nbytes = nbytes; - req->length += (nbytes + 3) >> 2; - Data (dpy, name, nbytes); - UnlockDisplay (dpy); - SyncHandle (); -} - -const char * -XFixesGetCursorName (Display *dpy, Cursor cursor, Atom *atom) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesGetCursorNameReq *req; - xXFixesGetCursorNameReply rep; - char *name; - - XFixesCheckExtension (dpy, info, 0); - if (info->major_version < 2) - return 0; - LockDisplay (dpy); - GetReq (XFixesGetCursorName, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesGetCursorName; - req->cursor = cursor; - if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) - { - UnlockDisplay (dpy); - SyncHandle (); - return 0; - } - *atom = rep.atom; - if ((name = (char *) Xmalloc(rep.nbytes+1))) { - _XReadPad(dpy, name, (long)rep.nbytes); - name[rep.nbytes] = '\0'; - } else { - _XEatData(dpy, (unsigned long) (rep.nbytes + 3) & ~3); - name = (char *) NULL; - } - UnlockDisplay(dpy); - SyncHandle(); - return(name); -} - -void -XFixesChangeCursor (Display *dpy, Cursor source, Cursor destination) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesChangeCursorReq *req; - - XFixesSimpleCheckExtension (dpy, info); - if (info->major_version < 2) - return; - LockDisplay (dpy); - GetReq (XFixesChangeCursor, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesChangeCursor; - req->source = source; - req->destination = destination; - UnlockDisplay(dpy); - SyncHandle(); -} - -void -XFixesChangeCursorByName (Display *dpy, Cursor source, const char *name) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesChangeCursorByNameReq *req; - int nbytes = strlen (name); - - XFixesSimpleCheckExtension (dpy, info); - if (info->major_version < 2) - return; - LockDisplay (dpy); - GetReq (XFixesChangeCursorByName, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesChangeCursorByName; - req->source = source; - req->nbytes = nbytes; - req->length += (nbytes + 3) >> 2; - Data (dpy, name, nbytes); - UnlockDisplay(dpy); - SyncHandle(); -} diff --git a/nx-X11/lib/Xfixes/Imakefile b/nx-X11/lib/Xfixes/Imakefile deleted file mode 100644 index cc3e1631d..000000000 --- a/nx-X11/lib/Xfixes/Imakefile +++ /dev/null @@ -1,63 +0,0 @@ -XCOMM $XdotOrg: xc/lib/Xfixes/Imakefile,v 1.1 2004/07/31 05:50:39 anholt Exp $ - -#ifndef NormalLibXfixes -#define NormalLibXfixes YES -SOXFIXESREV=3.0.0 -#endif - -#ifndef SharedLibXfixes -#define SharedLibXfixes YES -#endif - -#define DoNormalLib NormalLibXfixes -#define DoSharedLib SharedLibXfixes -#define DoDebugLib DebugLibXfixes -#define DoProfileLib ProfileLibXfixes - -#define LibName NX_Xfixes -#define SoRev SOXFIXESREV -#define IncSubdir nx-X11 -#define IncSubSubdir extensions - -#include - -#ifdef SharedXfixesReqs -REQUIREDLIBS = SharedXfixesReqs -#endif - -XFIXES_VERSION=3.0.0 - -X_LIBS=-L$(SHLIBDIR) $(XONLYLIB) -X_CFLAGS=-I$(INCROOT) $(THREADS_DEFINES) - -RPATH_CFLAG = HardCodeLibdirFlag - -SRCS = Cursor.c \ - Region.c \ - SaveSet.c \ - Selection.c \ - Xfixes.c - -OBJS = Cursor.o \ - Region.o \ - SaveSet.o \ - Selection.o \ - Xfixes.o - -HEADERS = Xfixes.h - -SUBSTVARS=prefix="$(PROJECTROOT)" \ - exec_prefix="$(BINDIR)" \ - libdir="$(USRLIBDIR)" \ - hardcode_libdir_flag_spec="$(RPATH_CFLAG)" \ - includedir="$(INCROOT)" \ - X_LIBS="$(X_LIBS)" \ - X_CFLAGS="$(X_CFLAGS)" \ - VERSION="$(XFIXES_VERSION)" - -#include - -MANSUFFIX=$(LIBMANSUFFIX) -InstallManPage(Xfixes,$(LIBMANDIR)) - -DependTarget() diff --git a/nx-X11/lib/Xfixes/Region.c b/nx-X11/lib/Xfixes/Region.c deleted file mode 100644 index f4781fe9b..000000000 --- a/nx-X11/lib/Xfixes/Region.c +++ /dev/null @@ -1,441 +0,0 @@ -/* - * $Id: Region.c,v 1.3 2005/07/03 07:00:56 daniels Exp $ - * - * Copyright © 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "Xfixesint.h" - -XserverRegion -XFixesCreateRegion (Display *dpy, XRectangle *rectangles, int nrectangles) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesCreateRegionReq *req; - long len; - XserverRegion region; - - XFixesCheckExtension (dpy, info, 0); - LockDisplay (dpy); - GetReq (XFixesCreateRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesCreateRegion; - region = req->region = XAllocID (dpy); - len = ((long) nrectangles) << 1; - SetReqLen (req, len, len); - len <<= 2; - Data16 (dpy, (short *) rectangles, len); - UnlockDisplay (dpy); - SyncHandle(); - return region; -} - -XserverRegion -XFixesCreateRegionFromBitmap (Display *dpy, Pixmap bitmap) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesCreateRegionFromBitmapReq *req; - XserverRegion region; - - XFixesCheckExtension (dpy, info, 0); - LockDisplay (dpy); - GetReq (XFixesCreateRegionFromBitmap, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesCreateRegionFromBitmap; - region = req->region = XAllocID (dpy); - req->bitmap = bitmap; - UnlockDisplay (dpy); - SyncHandle(); - return region; -} - -XserverRegion -XFixesCreateRegionFromWindow (Display *dpy, Window window, int kind) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesCreateRegionFromWindowReq *req; - XserverRegion region; - - XFixesCheckExtension (dpy, info, 0); - LockDisplay (dpy); - GetReq (XFixesCreateRegionFromWindow, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesCreateRegionFromWindow; - region = req->region = XAllocID (dpy); - req->window = window; - req->kind = kind; - UnlockDisplay (dpy); - SyncHandle(); - return region; -} - -XserverRegion -XFixesCreateRegionFromGC (Display *dpy, GC gc) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesCreateRegionFromGCReq *req; - XserverRegion region; - - XFixesCheckExtension (dpy, info, 0); - LockDisplay (dpy); - GetReq (XFixesCreateRegionFromGC, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesCreateRegionFromGC; - region = req->region = XAllocID (dpy); - req->gc = gc->gid; - UnlockDisplay (dpy); - SyncHandle(); - return region; -} - -XserverRegion -XFixesCreateRegionFromPicture (Display *dpy, XID picture) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesCreateRegionFromPictureReq *req; - XserverRegion region; - - XFixesCheckExtension (dpy, info, 0); - LockDisplay (dpy); - GetReq (XFixesCreateRegionFromPicture, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesCreateRegionFromPicture; - region = req->region = XAllocID (dpy); - req->picture = picture; - UnlockDisplay (dpy); - SyncHandle(); - return region; -} - -void -XFixesDestroyRegion (Display *dpy, XserverRegion region) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesDestroyRegionReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesDestroyRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesDestroyRegion; - req->region = region; - UnlockDisplay (dpy); - SyncHandle(); -} - -void -XFixesSetRegion (Display *dpy, XserverRegion region, - XRectangle *rectangles, int nrectangles) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesSetRegionReq *req; - long len; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesSetRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesSetRegion; - req->region = region; - len = ((long) nrectangles) << 1; - SetReqLen (req, len, len); - len <<= 2; - Data16 (dpy, (short *) rectangles, len); - UnlockDisplay (dpy); - SyncHandle(); -} - -void -XFixesCopyRegion (Display *dpy, XserverRegion dst, XserverRegion src) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesCopyRegionReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesCopyRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesCopyRegion; - req->source = src; - req->destination = dst; - UnlockDisplay (dpy); - SyncHandle(); -} - -void -XFixesUnionRegion (Display *dpy, XserverRegion dst, - XserverRegion src1, XserverRegion src2) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesUnionRegionReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesUnionRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesUnionRegion; - req->source1 = src1; - req->source2 = src2; - req->destination = dst; - UnlockDisplay (dpy); - SyncHandle(); -} - -void -XFixesIntersectRegion (Display *dpy, XserverRegion dst, - XserverRegion src1, XserverRegion src2) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesIntersectRegionReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesIntersectRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesIntersectRegion; - req->source1 = src1; - req->source2 = src2; - req->destination = dst; - UnlockDisplay (dpy); - SyncHandle(); -} - -void -XFixesSubtractRegion (Display *dpy, XserverRegion dst, - XserverRegion src1, XserverRegion src2) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesSubtractRegionReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesSubtractRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesSubtractRegion; - req->source1 = src1; - req->source2 = src2; - req->destination = dst; - UnlockDisplay (dpy); - SyncHandle(); -} - -void -XFixesInvertRegion (Display *dpy, XserverRegion dst, - XRectangle *rect, XserverRegion src) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesInvertRegionReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesInvertRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesInvertRegion; - req->source = src; - req->destination = dst; - UnlockDisplay (dpy); - SyncHandle(); -} - -void -XFixesTranslateRegion (Display *dpy, XserverRegion region, int dx, int dy) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesTranslateRegionReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesTranslateRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesTranslateRegion; - req->region = region; - req->dx = dx; - req->dy = dy; - UnlockDisplay (dpy); - SyncHandle(); -} - -void -XFixesRegionExtents (Display *dpy, XserverRegion dst, XserverRegion src) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesRegionExtentsReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesRegionExtents, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesRegionExtents; - req->source = src; - req->destination = dst; - UnlockDisplay (dpy); - SyncHandle(); -} - -XRectangle * -XFixesFetchRegion (Display *dpy, XserverRegion region, int *nrectanglesRet) -{ - XRectangle bounds; - - return XFixesFetchRegionAndBounds (dpy, region, nrectanglesRet, &bounds); -} - -XRectangle * -XFixesFetchRegionAndBounds (Display *dpy, - XserverRegion region, - int *nrectanglesRet, - XRectangle *bounds) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesFetchRegionReq *req; - xXFixesFetchRegionReply rep; - XRectangle *rects; - int nrects; - long nbytes; - long nread; - - XFixesCheckExtension (dpy, info, 0); - LockDisplay (dpy); - GetReq (XFixesFetchRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesFetchRegion; - req->region = region; - if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) - { - UnlockDisplay (dpy); - SyncHandle (); - return 0; - } - bounds->x = rep.x; - bounds->y = rep.y; - bounds->width = rep.width; - bounds->height = rep.height; - nbytes = (long) rep.length << 2; - nrects = rep.length >> 1; - nread = nrects << 3; - rects = Xmalloc (nrects * sizeof (XRectangle)); - if (!rects) - { - _XEatData (dpy, nbytes); - UnlockDisplay (dpy); - SyncHandle (); - return 0; - } - _XRead16 (dpy, (short *) rects, nrects << 3); - /* skip any padding */ - if(nbytes > nread) - { - _XEatData (dpy, (unsigned long) (nbytes - nread)); - } - UnlockDisplay (dpy); - SyncHandle(); - *nrectanglesRet = nrects; - return rects; -} - -void -XFixesSetGCClipRegion (Display *dpy, GC gc, - int clip_x_origin, int clip_y_origin, - XserverRegion region) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesSetGCClipRegionReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesSetGCClipRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesSetGCClipRegion; - req->gc = gc->gid; - req->region = region; - req->xOrigin = clip_x_origin; - req->yOrigin = clip_y_origin; - UnlockDisplay (dpy); - SyncHandle(); -} - -void -XFixesSetWindowShapeRegion (Display *dpy, Window win, int shape_kind, - int x_off, int y_off, XserverRegion region) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesSetWindowShapeRegionReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesSetWindowShapeRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesSetWindowShapeRegion; - req->dest = win; - req->destKind = shape_kind; - req->xOff = x_off; - req->yOff = y_off; - req->region = region; - UnlockDisplay (dpy); - SyncHandle(); -} - -void -XFixesSetPictureClipRegion (Display *dpy, XID picture, - int clip_x_origin, int clip_y_origin, - XserverRegion region) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesSetPictureClipRegionReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesSetPictureClipRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesSetPictureClipRegion; - req->picture = picture; - req->region = region; - req->xOrigin = clip_x_origin; - req->yOrigin = clip_y_origin; - UnlockDisplay (dpy); - SyncHandle(); -} - -void -XFixesExpandRegion (Display *dpy, XserverRegion dst, XserverRegion src, - unsigned left, unsigned right, - unsigned top, unsigned bottom) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesExpandRegionReq *req; - - XFixesSimpleCheckExtension (dpy, info); - LockDisplay (dpy); - GetReq (XFixesExpandRegion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesExpandRegion; - req->source = src; - req->destination = dst; - req->left = left; - req->right = right; - req->top = top; - req->bottom = bottom; - UnlockDisplay (dpy); - SyncHandle(); -} - diff --git a/nx-X11/lib/Xfixes/SaveSet.c b/nx-X11/lib/Xfixes/SaveSet.c deleted file mode 100644 index c5b73f9c9..000000000 --- a/nx-X11/lib/Xfixes/SaveSet.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - * $XFree86: xc/lib/Xfixes/SaveSet.c,v 1.1 2002/11/30 18:41:33 keithp Exp $ - * - * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "Xfixesint.h" - -void -XFixesChangeSaveSet (Display *dpy, Window win, int mode, int target, int map) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesChangeSaveSetReq *req; - - XFixesSimpleCheckExtension (dpy, info); - - LockDisplay (dpy); - GetReq (XFixesChangeSaveSet, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesChangeSaveSet; - req->mode = mode; - req->target = target; - req->map = map; - req->window = win; - UnlockDisplay (dpy); - SyncHandle (); -} diff --git a/nx-X11/lib/Xfixes/Selection.c b/nx-X11/lib/Xfixes/Selection.c deleted file mode 100644 index 888dc84f0..000000000 --- a/nx-X11/lib/Xfixes/Selection.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * $XFree86: xc/lib/Xfixes/Selection.c,v 1.1 2002/11/30 06:21:45 keithp Exp $ - * - * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "Xfixesint.h" - -void -XFixesSelectSelectionInput (Display *dpy, - Window win, - Atom selection, - unsigned long eventMask) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - xXFixesSelectSelectionInputReq *req; - - XFixesSimpleCheckExtension (dpy, info); - - LockDisplay (dpy); - GetReq (XFixesSelectSelectionInput, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesSelectSelectionInput; - req->window = win; - req->selection = selection; - req->eventMask = eventMask; - UnlockDisplay (dpy); - SyncHandle (); -} diff --git a/nx-X11/lib/Xfixes/Xfixes-def.cpp b/nx-X11/lib/Xfixes/Xfixes-def.cpp deleted file mode 100644 index bbab58858..000000000 --- a/nx-X11/lib/Xfixes/Xfixes-def.cpp +++ /dev/null @@ -1,10 +0,0 @@ -LIBRARY Xfixes -VERSION LIBRARY_VERSION -EXPORTS - XFixesQueryExtension - XFixesQueryVersion - XFixesChangeSaveSet - XFixesSelectSelectionInput - XFixesSelectCursorInput - XFixesGetCursorImage -/* $XFree86: xc/lib/Xfixes/Xfixes-def.cpp,v 1.1 2002/11/30 06:21:45 keithp Exp $ */ diff --git a/nx-X11/lib/Xfixes/Xfixes.c b/nx-X11/lib/Xfixes/Xfixes.c deleted file mode 100644 index e4dfd05de..000000000 --- a/nx-X11/lib/Xfixes/Xfixes.c +++ /dev/null @@ -1,333 +0,0 @@ -/* - * $XFree86: xc/lib/Xfixes/Xfixes.c,v 1.1 2002/11/30 06:21:45 keithp Exp $ - * - * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "Xfixesint.h" - -XFixesExtInfo XFixesExtensionInfo; -char XFixesExtensionName[] = XFIXES_NAME; - -static int -XFixesCloseDisplay (Display *dpy, XExtCodes *codes); - -static Bool -XFixesWireToEvent(Display *dpy, XEvent *event, xEvent *wire); - -static Status -XFixesEventToWire(Display *dpy, XEvent *event, xEvent *wire); - -/* - * XFixesExtAddDisplay - add a display to this extension. (Replaces - * XextAddDisplay) - */ -static XFixesExtDisplayInfo * -XFixesExtAddDisplay (XFixesExtInfo *extinfo, - Display *dpy, - char *ext_name) -{ - XFixesExtDisplayInfo *info; - int ev; - - info = (XFixesExtDisplayInfo *) Xmalloc (sizeof (XFixesExtDisplayInfo)); - if (!info) return NULL; - info->display = dpy; - - info->codes = XInitExtension (dpy, ext_name); - - /* - * if the server has the extension, then we can initialize the - * appropriate function vectors - */ - if (info->codes) { - xXFixesQueryVersionReply rep; - xXFixesQueryVersionReq *req; - XESetCloseDisplay (dpy, info->codes->extension, - XFixesCloseDisplay); - for (ev = info->codes->first_event; - ev < info->codes->first_event + XFixesNumberEvents; - ev++) - { - XESetWireToEvent (dpy, ev, XFixesWireToEvent); - XESetEventToWire (dpy, ev, XFixesEventToWire); - } - /* - * Get the version info - */ - LockDisplay (dpy); - GetReq (XFixesQueryVersion, req); - req->reqType = info->codes->major_opcode; - req->xfixesReqType = X_XFixesQueryVersion; - req->majorVersion = XFIXES_MAJOR; - req->minorVersion = XFIXES_MINOR; - if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) - { - UnlockDisplay (dpy); - SyncHandle (); - return 0; - } - info->major_version = rep.majorVersion; - info->minor_version = rep.minorVersion; - UnlockDisplay (dpy); - } else { - /* The server doesn't have this extension. - * Use a private Xlib-internal extension to hang the close_display - * hook on so that the "cache" (extinfo->cur) is properly cleaned. - * (XBUG 7955) - */ - XExtCodes *codes = XAddExtension(dpy); - if (!codes) { - XFree(info); - return NULL; - } - XESetCloseDisplay (dpy, codes->extension, XFixesCloseDisplay); - } - - /* - * now, chain it onto the list - */ - _XLockMutex(_Xglobal_lock); - info->next = extinfo->head; - extinfo->head = info; - extinfo->cur = info; - extinfo->ndisplays++; - _XUnlockMutex(_Xglobal_lock); - return info; -} - - -/* - * XFixesExtRemoveDisplay - remove the indicated display from the - * extension object. (Replaces XextRemoveDisplay.) - */ -static int -XFixesExtRemoveDisplay (XFixesExtInfo *extinfo, Display *dpy) -{ - XFixesExtDisplayInfo *info, *prev; - - /* - * locate this display and its back link so that it can be removed - */ - _XLockMutex(_Xglobal_lock); - prev = NULL; - for (info = extinfo->head; info; info = info->next) { - if (info->display == dpy) break; - prev = info; - } - if (!info) { - _XUnlockMutex(_Xglobal_lock); - return 0; /* hmm, actually an error */ - } - - /* - * remove the display from the list; handles going to zero - */ - if (prev) - prev->next = info->next; - else - extinfo->head = info->next; - - extinfo->ndisplays--; - if (info == extinfo->cur) extinfo->cur = NULL; /* flush cache */ - _XUnlockMutex(_Xglobal_lock); - - Xfree ((char *) info); - return 1; -} - -/* - * XFixesExtFindDisplay - look for a display in this extension; keeps a - * cache of the most-recently used for efficiency. (Replaces - * XextFindDisplay.) - */ -static XFixesExtDisplayInfo * -XFixesExtFindDisplay (XFixesExtInfo *extinfo, - Display *dpy) -{ - XFixesExtDisplayInfo *info; - - /* - * see if this was the most recently accessed display - */ - if ((info = extinfo->cur) && info->display == dpy) - return info; - - /* - * look for display in list - */ - _XLockMutex(_Xglobal_lock); - for (info = extinfo->head; info; info = info->next) { - if (info->display == dpy) { - extinfo->cur = info; /* cache most recently used */ - _XUnlockMutex(_Xglobal_lock); - return info; - } - } - _XUnlockMutex(_Xglobal_lock); - - return NULL; -} - -XFixesExtDisplayInfo * -XFixesFindDisplay (Display *dpy) -{ - XFixesExtDisplayInfo *info; - - info = XFixesExtFindDisplay (&XFixesExtensionInfo, dpy); - if (!info) - info = XFixesExtAddDisplay (&XFixesExtensionInfo, dpy, - XFixesExtensionName); - return info; -} - -static int -XFixesCloseDisplay (Display *dpy, XExtCodes *codes) -{ - return XFixesExtRemoveDisplay (&XFixesExtensionInfo, dpy); -} - -static Bool -XFixesWireToEvent(Display *dpy, XEvent *event, xEvent *wire) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay(dpy); - - XFixesCheckExtension(dpy, info, False); - - switch ((wire->u.u.type & 0x7F) - info->codes->first_event) - { - case XFixesSelectionNotify: { - XFixesSelectionNotifyEvent *aevent; - xXFixesSelectionNotifyEvent *awire; - awire = (xXFixesSelectionNotifyEvent *) wire; - aevent = (XFixesSelectionNotifyEvent *) 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->owner = awire->owner; - aevent->selection = awire->selection; - aevent->timestamp = awire->timestamp; - aevent->selection_timestamp = awire->selectionTimestamp; - return True; - } - case XFixesCursorNotify: { - XFixesCursorNotifyEvent *aevent; - xXFixesCursorNotifyEvent *awire; - awire = (xXFixesCursorNotifyEvent *) wire; - aevent = (XFixesCursorNotifyEvent *) 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->cursor_serial = awire->cursorSerial; - aevent->timestamp = awire->timestamp; - aevent->cursor_name = awire->name; - return True; - } - } - return False; -} - -static Status -XFixesEventToWire(Display *dpy, XEvent *event, xEvent *wire) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay(dpy); - - XFixesCheckExtension(dpy, info, False); - - switch ((event->type & 0x7F) - info->codes->first_event) - { - case XFixesSelectionNotify: { - XFixesSelectionNotifyEvent *aevent; - xXFixesSelectionNotifyEvent *awire; - awire = (xXFixesSelectionNotifyEvent *) wire; - aevent = (XFixesSelectionNotifyEvent *) event; - awire->type = aevent->type | (aevent->send_event ? 0x80 : 0); - awire->subtype = aevent->subtype; - awire->window = aevent->window; - awire->owner = aevent->owner; - awire->selection = aevent->selection; - awire->timestamp = aevent->timestamp; - awire->selectionTimestamp = aevent->selection_timestamp; - return True; - } - case XFixesCursorNotify: { - XFixesCursorNotifyEvent *aevent; - xXFixesCursorNotifyEvent *awire; - awire = (xXFixesCursorNotifyEvent *) wire; - aevent = (XFixesCursorNotifyEvent *) event; - awire->type = aevent->type | (aevent->send_event ? 0x80 : 0); - awire->subtype = aevent->subtype; - awire->window = aevent->window; - awire->timestamp = aevent->timestamp; - awire->cursorSerial = aevent->cursor_serial; - awire->name = aevent->cursor_name; - } - } - return False; -} - -Bool -XFixesQueryExtension (Display *dpy, int *event_basep, int *error_basep) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - - if (XFixesHasExtension(info)) - { - *event_basep = info->codes->first_event; - *error_basep = info->codes->first_error; - return True; - } - else - return False; -} - -Status -XFixesQueryVersion (Display *dpy, - int *major_versionp, - int *minor_versionp) -{ - XFixesExtDisplayInfo *info = XFixesFindDisplay (dpy); - - XFixesCheckExtension (dpy, info, 0); - - *major_versionp = info->major_version; - *minor_versionp = info->minor_version; - UnlockDisplay (dpy); - SyncHandle (); - return 1; -} - -int -XFixesVersion (void) -{ - return XFIXES_VERSION; -} diff --git a/nx-X11/lib/Xfixes/Xfixes.h b/nx-X11/lib/Xfixes/Xfixes.h deleted file mode 100644 index 4cba47ca4..000000000 --- a/nx-X11/lib/Xfixes/Xfixes.h +++ /dev/null @@ -1,220 +0,0 @@ -/* - * $XFree86: xc/lib/Xfixes/Xfixes.h,v 1.1 2002/11/30 06:21:45 keithp Exp $ - * - * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. - * - * 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. - */ - -#ifndef _XFIXES_H_ -#define _XFIXES_H_ - -#include - -#include - -/* - * This revision number also appears in configure.ac, they have - * to be manually synchronized - */ -#define XFIXES_REVISION 1 -#define XFIXES_VERSION ((XFIXES_MAJOR * 10000) + (XFIXES_MINOR * 100) + (XFIXES_REVISION)) - -typedef struct { - int type; /* event base */ - unsigned long serial; - Bool send_event; - Display *display; - Window window; - int subtype; - Window owner; - Atom selection; - Time timestamp; - Time selection_timestamp; -} XFixesSelectionNotifyEvent; - -typedef struct { - int type; /* event base */ - unsigned long serial; - Bool send_event; - Display *display; - Window window; - int subtype; - unsigned long cursor_serial; - Time timestamp; - Atom cursor_name; -} XFixesCursorNotifyEvent; - -typedef struct { - short x, y; - unsigned short width, height; - unsigned short xhot, yhot; - unsigned long cursor_serial; - unsigned long *pixels; -#if XFIXES_MAJOR >= 2 - Atom atom; /* Version >= 2 only */ - const char *name; /* Version >= 2 only */ -#endif -} XFixesCursorImage; - -#if XFIXES_MAJOR >= 2 -/* Version 2 types */ - -typedef XID XserverRegion; - -typedef struct { - short x, y; - unsigned short width, height; - unsigned short xhot, yhot; - unsigned long cursor_serial; - unsigned long *pixels; - Atom atom; - const char *name; -} XFixesCursorImageAndName; - -#endif - -_XFUNCPROTOBEGIN - -Bool XFixesQueryExtension (Display *dpy, int *event_basep, int *error_basep); -Status XFixesQueryVersion (Display *dpy, - int *major_versionp, - int *minor_versionp); - -int XFixesVersion (void); - -void -XFixesChangeSaveSet (Display *dpy, - Window win, - int mode, - int target, - int map); - -void -XFixesSelectSelectionInput (Display *dpy, - Window win, - Atom selection, - unsigned long eventMask); - -void -XFixesSelectCursorInput (Display *dpy, - Window win, - unsigned long eventMask); - -XFixesCursorImage * -XFixesGetCursorImage (Display *dpy); - -#if XFIXES_MAJOR >= 2 -/* Version 2 functions */ - -XserverRegion -XFixesCreateRegion (Display *dpy, XRectangle *rectangles, int nrectangles); - -XserverRegion -XFixesCreateRegionFromBitmap (Display *dpy, Pixmap bitmap); - -XserverRegion -XFixesCreateRegionFromWindow (Display *dpy, Window window, int kind); - -XserverRegion -XFixesCreateRegionFromGC (Display *dpy, GC gc); - -XserverRegion -XFixesCreateRegionFromPicture (Display *dpy, XID picture); - -void -XFixesDestroyRegion (Display *dpy, XserverRegion region); - -void -XFixesSetRegion (Display *dpy, XserverRegion region, - XRectangle *rectangles, int nrectangles); - -void -XFixesCopyRegion (Display *dpy, XserverRegion dst, XserverRegion src); - -void -XFixesUnionRegion (Display *dpy, XserverRegion dst, - XserverRegion src1, XserverRegion src2); - -void -XFixesIntersectRegion (Display *dpy, XserverRegion dst, - XserverRegion src1, XserverRegion src2); - -void -XFixesSubtractRegion (Display *dpy, XserverRegion dst, - XserverRegion src1, XserverRegion src2); - -void -XFixesInvertRegion (Display *dpy, XserverRegion dst, - XRectangle *rect, XserverRegion src); - -void -XFixesTranslateRegion (Display *dpy, XserverRegion region, int dx, int dy); - -void -XFixesRegionExtents (Display *dpy, XserverRegion dst, XserverRegion src); - -XRectangle * -XFixesFetchRegion (Display *dpy, XserverRegion region, int *nrectanglesRet); - -XRectangle * -XFixesFetchRegionAndBounds (Display *dpy, XserverRegion region, - int *nrectanglesRet, - XRectangle *bounds); - -void -XFixesSetGCClipRegion (Display *dpy, GC gc, - int clip_x_origin, int clip_y_origin, - XserverRegion region); - -void -XFixesSetWindowShapeRegion (Display *dpy, Window win, int shape_kind, - int x_off, int y_off, XserverRegion region); - -void -XFixesSetPictureClipRegion (Display *dpy, XID picture, - int clip_x_origin, int clip_y_origin, - XserverRegion region); - -void -XFixesSetCursorName (Display *dpy, Cursor cursor, const char *name); - -const char * -XFixesGetCursorName (Display *dpy, Cursor cursor, Atom *atom); - -void -XFixesChangeCursor (Display *dpy, Cursor source, Cursor destination); - -void -XFixesChangeCursorByName (Display *dpy, Cursor source, const char *name); - -#endif /* XFIXES_MAJOR >= 2 */ - -#if XFIXES_MAJOR >= 3 - -void -XFixesExpandRegion (Display *dpy, XserverRegion dst, XserverRegion src, - unsigned left, unsigned right, - unsigned top, unsigned bottom); - -#endif /* XFIXES_MAJOR >= 3 */ - -_XFUNCPROTOEND - -#endif /* _XFIXES_H_ */ diff --git a/nx-X11/lib/Xfixes/Xfixes.man b/nx-X11/lib/Xfixes/Xfixes.man deleted file mode 100644 index 563db15b5..000000000 --- a/nx-X11/lib/Xfixes/Xfixes.man +++ /dev/null @@ -1,76 +0,0 @@ -.\" -.\" $XFree86: xc/lib/Xfixes/Xfixes.man,v 1.1 2002/11/30 06:21:45 keithp Exp $ -.\" -.\" Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. -.\" -.\" 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. -.\" -.de TQ -.br -.ns -.TP \\$1 -.. -.TH XFIXES 3 "Version 1.0" "XFree86" - -.SH NAME -XFixes \- Augmented versions of core protocol requests -.SH SYNTAX -\&#include -.nf -.sp -Bool XFixesQueryExtension \^(\^Display *\fIdpy\fP, - int *\fIevent_basep\fP, int *\fIerror_basep\fP\^); -.sp -Status XFixesQueryVersion \^(\^Display *\fIdpy\fP, - int *\fImajor_versionp\fP, - int *\fIminor_versionp\fP\^); -.sp -void XFixesChangeSaveSet \^(\^Display *dpy, - Window \fIwindow\fP, - int \fImode\fP, - int \fItarget\fP, - int \fImap\fP); -.fi -.SH ARGUMENTS -.IP \fIdisplay\fP 1i -Specifies the connection to the X server. -.IP \fIwindow\fP 1i -Specifies which window. -.IP \fImode\fP 1i -Specifies the save set operation (SetModeInsert/SetModeDelete). -.IP \fItarget\fP 1i -Specifies the target when executing the save set -(SaveSetNearest/SaveSetRoot). In SaveSetNearest mode, the save set member -window will be reparented to the nearest window not owned by the save set -client. In SaveSetRoot mode, the save set member window will be reparented -to the root window. -.IP \fImap\fP 1i -Specifies the map mode (SaveSetMap/SaveSetUnmap) which selects whether the -save setmember window will be mapped or unmapped during save set processing. -.SH DESCRIPTION -.B Xfixes -is a simple library designed to interface the X Fixes -Extension. This extension provides application with work arounds for -various limitations in the core protocol. -.SH RESTRICTIONS -.B Xfixes -will remain upward compatible after the current 1.0 release. -.SH AUTHORS -Keith Packard, member of the XFree86 Project, Inc. and -HP, Owen Taylor, member of the Gnome Foundation and Redhat, Inc. diff --git a/nx-X11/lib/Xfixes/Xfixesint.h b/nx-X11/lib/Xfixes/Xfixesint.h deleted file mode 100644 index 353dcae77..000000000 --- a/nx-X11/lib/Xfixes/Xfixesint.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * $XFree86: xc/lib/Xfixes/Xfixesint.h,v 1.1 2002/11/30 06:21:45 keithp Exp $ - * - * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. - * - * 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. - */ - -#ifndef _XFIXESINT_H_ -#define _XFIXESINT_H_ - -#define NEED_EVENTS -#define NEED_REPLIES -#include -#include -#include -#include -#include "Xfixes.h" -#include - -extern char XFixesExtensionName[]; - -typedef struct _XFixesExtDisplayInfo { - struct _XFixesExtDisplayInfo *next; /* keep a linked list */ - Display *display; /* which display this is */ - XExtCodes *codes; /* the extension protocol codes */ - int major_version; /* -1 means we don't know */ - int minor_version; /* -1 means we don't know */ -} XFixesExtDisplayInfo; - -/* replaces XExtensionInfo */ -typedef struct _XFixesExtInfo { - XFixesExtDisplayInfo *head; /* start of the list */ - XFixesExtDisplayInfo *cur; /* most recently used */ - int ndisplays; /* number of displays */ -} XFixesExtInfo; - -extern XFixesExtInfo XFixesExtensionInfo; -extern char XFixesExtensionName[]; - -XFixesExtDisplayInfo * -XFixesFindDisplay (Display *dpy); - -#define XFixesHasExtension(i) ((i) && ((i)->codes)) - -#define XFixesCheckExtension(dpy,i,val) \ - if (!XFixesHasExtension(i)) { return val; } - -#define XFixesSimpleCheckExtension(dpy,i) \ - if (!XFixesHasExtension(i)) { return; } - -#endif /* _XFIXESINT_H_ */ diff --git a/nx-X11/programs/Xserver/Imakefile b/nx-X11/programs/Xserver/Imakefile index 18e0d47f2..93a676390 100644 --- a/nx-X11/programs/Xserver/Imakefile +++ b/nx-X11/programs/Xserver/Imakefile @@ -402,17 +402,17 @@ $(NXAGENTOBJS) $(NXAGENTLIBS) $(NXAGENTSYSLIBS):: $(NXAGENTDIRS) #if defined(SunArchitecture) NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \ - -lXcomp -lXcompext -lXcompshad -lrt -L/usr/sfw/lib -lNX_Xrender -lNX_Xfixes -lXfont \ + -lXcomp -lXcompext -lXcompshad -lrt -L/usr/sfw/lib -lNX_Xrender -lXfixes -lXfont \ -L../../../nx-X11/exports/lib -lNX_Xtst -lXrandr -lXcomposite -lXdmcp \ `pkg-config --libs libxml-2.0` #elif defined(cygwinArchitecture) NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext \ - -lXcomp -lXcompext -lNX_Xrender -lX11 -lNX_Xext -lXcomposite -lNX_Xfixes -lXfont \ + -lXcomp -lXcompext -lNX_Xrender -lX11 -lNX_Xext -lXcomposite -lXfixes -lXfont \ -L ../../../nxcompshad -lXcompshad -L../../../nx-X11/exports/lib -lNX_Xtst -lXdmcp \ `pkg-config --libs libxml-2.0` #else NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \ - -lXcomp -lXcompext -lXcompshad -lNX_Xrender -lNX_X11 -lNX_Xext -lNX_Xfixes -lXfont \ + -lXcomp -lXcompext -lXcompshad -lNX_Xrender -lNX_X11 -lNX_Xext -lXfixes -lXfont \ -L../../../nx-X11/exports/lib -lNX_Xtst -lXrandr -lXcomposite -lNX_Xinerama -lXdmcp \ `pkg-config --libs libxml-2.0` #endif diff --git a/nx-libs.spec b/nx-libs.spec index af9753fdd..b0f2abce7 100644 --- a/nx-libs.spec +++ b/nx-libs.spec @@ -37,6 +37,7 @@ BuildRequires: pkgconfig(xdmcp) BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(xfixes) %else BuildRequires: libexpat-devel BuildRequires: libpng-devel @@ -49,6 +50,7 @@ BuildRequires: xorg-x11-libXdmcp-devel BuildRequires: xorg-x11-libXdamage-devel BuildRequires: xorg-x11-libXcomposite-devel BuildRequires: xorg-x11-libXrandr-devel +BuildRequires: xorg-x11-libXfixes-devel %endif BuildRequires: xorg-x11-util-devel %endif @@ -61,6 +63,7 @@ BuildRequires: libXfont-devel BuildRequires: libXdmcp-devel BuildRequires: libXcomposite-devel BuildRequires: libXrandr-devel +BuildRequires: libXfixes-devel %endif # For imake @@ -238,40 +241,6 @@ The NX_Xext library contains a handful of X11 extensions: - X11 Double-Buffering, Multi-Buffering, and Stereo extension (Xmbuf) -%package -n libNX_Xfixes-devel -Group: Development/Libraries -Summary: Development files for the NX Xfixes extension library -Requires: libNX_Xfixes3%{?_isa} = %{version}-%{release} -Requires: libNX_X11-devel%{?_isa} = %{version}-%{release} -Requires: nx-proto-devel%{?_isa} = %{version}-%{release} - -%description -n libNX_Xfixes-devel -NX is a software suite which implements very efficient compression of -the X11 protocol. This increases performance when using X -applications over a network, especially a slow one. - -The nx-X11 Fixes extension provides applications with work-arounds for -various limitations in the core protocol. - -This package contains all necessary include files and libraries -needed to develop applications that require these. - - -%package -n libNX_Xfixes3 -Group: System Environment/Libraries -Summary: NX miscellaneous "fixes" extension library -Requires: %{name}%{?_isa} >= 3.5.0.29 -Obsoletes: libNX_Xfixes - -%description -n libNX_Xfixes3 -NX is a software suite which implements very efficient compression of -the X11 protocol. This increases performance when using X -applications over a network, especially a slow one. - -The nx_X11 Fixes extension provides applications with work-arounds for -various limitations in the core protocol. - - %package -n libNX_Xinerama1 Group: System Environment/Libraries Summary: Xinerama extension to the NX Protocol @@ -437,7 +406,6 @@ Summary: Include files and libraries for NX development Requires: libNX_X11-devel%{?_isa} = %{version}-%{release} Requires: libNX_Xau-devel%{?_isa} = %{version}-%{release} Requires: libNX_Xext-devel%{?_isa} = %{version}-%{release} -Requires: libNX_Xfixes-devel%{?_isa} = %{version}-%{release} Requires: libNX_Xrender-devel%{?_isa} = %{version}-%{release} Requires: nx-proto-devel%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release} @@ -619,7 +587,6 @@ ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/X %post -n libNX_X11-6 -p /sbin/ldconfig %post -n libNX_Xau6 -p /sbin/ldconfig %post -n libNX_Xext6 -p /sbin/ldconfig -%post -n libNX_Xfixes3 -p /sbin/ldconfig %post -n libNX_Xinerama1 -p /sbin/ldconfig %post -n libNX_Xrender1 -p /sbin/ldconfig %post -n libNX_Xtst6 -p /sbin/ldconfig @@ -630,7 +597,6 @@ ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/X %postun -n libNX_X11-6 -p /sbin/ldconfig %postun -n libNX_Xau6 -p /sbin/ldconfig %postun -n libNX_Xext6 -p /sbin/ldconfig -%postun -n libNX_Xfixes3 -p /sbin/ldconfig %postun -n libNX_Xinerama1 -p /sbin/ldconfig %postun -n libNX_Xrender1 -p /sbin/ldconfig %postun -n libNX_Xtst6 -p /sbin/ldconfig @@ -712,15 +678,6 @@ ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/X %defattr(-,root,root) %{_libdir}/libNX_Xext.so.6* -%files -n libNX_Xfixes-devel -%defattr(-,root,root) -%{_libdir}/libNX_Xfixes.so -%{_includedir}/nx-X11/extensions/Xfixes.h - -%files -n libNX_Xfixes3 -%defattr(-,root,root) -%{_libdir}/libNX_Xfixes.so.3* - %files -n libNX_Xinerama1 %defattr(-,root,root) %{_libdir}/libNX_Xinerama.so.1* -- cgit v1.2.3