Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nx-libs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dimbor
nx-libs
Commits
49607e93
Commit
49607e93
authored
Nov 05, 2018
by
Ulrich Sibiller
Committed by
Mike Gabriel
Nov 09, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Lift Xext to xorg 1.4.2
parent
fccef5fc
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
349 additions
and
264 deletions
+349
-264
dpms.c
nx-X11/programs/Xserver/Xext/dpms.c
+5
-2
panoramiX.c
nx-X11/programs/Xserver/Xext/panoramiX.c
+4
-42
panoramiX.h
nx-X11/programs/Xserver/Xext/panoramiX.h
+0
-13
panoramiXSwap.c
nx-X11/programs/Xserver/Xext/panoramiXSwap.c
+4
-0
panoramiXh.h
nx-X11/programs/Xserver/Xext/panoramiXh.h
+1
-4
panoramiXprocs.c
nx-X11/programs/Xserver/Xext/panoramiXprocs.c
+4
-4
saver.c
nx-X11/programs/Xserver/Xext/saver.c
+6
-9
shm.c
nx-X11/programs/Xserver/Xext/shm.c
+10
-10
shmint.h
nx-X11/programs/Xserver/Xext/shmint.h
+0
-2
sleepuntil.c
nx-X11/programs/Xserver/Xext/sleepuntil.c
+0
-1
sync.c
nx-X11/programs/Xserver/Xext/sync.c
+12
-12
xf86bigfont.c
nx-X11/programs/Xserver/Xext/xf86bigfont.c
+1
-0
xres.c
nx-X11/programs/Xserver/Xext/xres.c
+63
-1
xtest.c
nx-X11/programs/Xserver/Xext/xtest.c
+3
-3
xvdisp.c
nx-X11/programs/Xserver/Xext/xvdisp.c
+11
-13
xvmain.c
nx-X11/programs/Xserver/Xext/xvmain.c
+2
-2
xvmc.c
nx-X11/programs/Xserver/Xext/xvmc.c
+1
-1
code-versions.txt
nx-X11/programs/Xserver/code-versions.txt
+1
-1
NXshm.c
nx-X11/programs/Xserver/hw/nxagent/NXshm.c
+118
-47
NXxvdisp.c
nx-X11/programs/Xserver/hw/nxagent/NXxvdisp.c
+98
-97
inputstr.h
nx-X11/programs/Xserver/include/inputstr.h
+5
-0
No files found.
nx-X11/programs/Xserver/Xext/dpms.c
View file @
49607e93
...
@@ -196,12 +196,15 @@ static int
...
@@ -196,12 +196,15 @@ static int
ProcDPMSEnable
(
client
)
ProcDPMSEnable
(
client
)
register
ClientPtr
client
;
register
ClientPtr
client
;
{
{
/* REQUEST(xDPMSEnableReq); */
Bool
was_enabled
=
DPMSEnabled
;
REQUEST_SIZE_MATCH
(
xDPMSEnableReq
);
REQUEST_SIZE_MATCH
(
xDPMSEnableReq
);
if
(
DPMSCapableFlag
)
if
(
DPMSCapableFlag
)
{
DPMSEnabled
=
TRUE
;
DPMSEnabled
=
TRUE
;
if
(
!
was_enabled
)
SetScreenSaverTimer
();
}
return
(
client
->
noClientException
);
return
(
client
->
noClientException
);
}
}
...
...
nx-X11/programs/Xserver/Xext/panoramiX.c
View file @
49607e93
...
@@ -55,8 +55,10 @@ Equipment Corporation.
...
@@ -55,8 +55,10 @@ Equipment Corporation.
#ifdef RENDER
#ifdef RENDER
#include "picturestr.h"
#include "picturestr.h"
#endif
#endif
#include "protocol-versions.h"
#include "protocol-versions.h"
#ifdef GLXPROXY
#ifdef GLXPROXY
extern
VisualPtr
glxMatchVisual
(
ScreenPtr
pScreen
,
extern
VisualPtr
glxMatchVisual
(
ScreenPtr
pScreen
,
VisualPtr
pVisual
,
VisualPtr
pVisual
,
...
@@ -107,7 +109,6 @@ static void PanoramiXResetProc(ExtensionEntry*);
...
@@ -107,7 +109,6 @@ static void PanoramiXResetProc(ExtensionEntry*);
#include "panoramiXh.h"
#include "panoramiXh.h"
int
(
*
SavedProcVector
[
256
])
(
ClientPtr
client
)
=
{
NULL
,
};
int
(
*
SavedProcVector
[
256
])
(
ClientPtr
client
)
=
{
NULL
,
};
ScreenInfo
*
GlobalScrInfo
=
NULL
;
static
int
PanoramiXGCIndex
=
-
1
;
static
int
PanoramiXGCIndex
=
-
1
;
static
int
PanoramiXScreenIndex
=
-
1
;
static
int
PanoramiXScreenIndex
=
-
1
;
...
@@ -133,7 +134,7 @@ static void XineramaChangeClip(GCPtr, int, void *, int);
...
@@ -133,7 +134,7 @@ static void XineramaChangeClip(GCPtr, int, void *, int);
static
void
XineramaDestroyClip
(
GCPtr
);
static
void
XineramaDestroyClip
(
GCPtr
);
static
void
XineramaCopyClip
(
GCPtr
,
GCPtr
);
static
void
XineramaCopyClip
(
GCPtr
,
GCPtr
);
GCFuncs
XineramaGCFuncs
=
{
static
GCFuncs
XineramaGCFuncs
=
{
XineramaValidateGC
,
XineramaChangeGC
,
XineramaCopyGC
,
XineramaDestroyGC
,
XineramaValidateGC
,
XineramaChangeGC
,
XineramaCopyGC
,
XineramaDestroyGC
,
XineramaChangeClip
,
XineramaDestroyClip
,
XineramaCopyClip
XineramaChangeClip
,
XineramaDestroyClip
,
XineramaCopyClip
};
};
...
@@ -166,7 +167,7 @@ XineramaCloseScreen (ScreenPtr pScreen)
...
@@ -166,7 +167,7 @@ XineramaCloseScreen (ScreenPtr pScreen)
return
(
*
pScreen
->
CloseScreen
)
(
pScreen
);
return
(
*
pScreen
->
CloseScreen
)
(
pScreen
);
}
}
Bool
static
Bool
XineramaCreateGC
(
GCPtr
pGC
)
XineramaCreateGC
(
GCPtr
pGC
)
{
{
ScreenPtr
pScreen
=
pGC
->
pScreen
;
ScreenPtr
pScreen
=
pGC
->
pScreen
;
...
@@ -337,32 +338,11 @@ XineramaDeleteResource(void * data, XID id)
...
@@ -337,32 +338,11 @@ XineramaDeleteResource(void * data, XID id)
return
1
;
return
1
;
}
}
static
Bool
XineramaFindIDOnAnyScreen
(
void
*
resource
,
XID
id
,
void
*
privdata
)
{
PanoramiXRes
*
res
=
(
PanoramiXRes
*
)
resource
;
int
j
;
FOR_NSCREENS
(
j
)
if
(
res
->
info
[
j
].
id
==
*
((
XID
*
)
privdata
))
return
TRUE
;
return
FALSE
;
}
PanoramiXRes
*
PanoramiXFindIDOnAnyScreen
(
RESTYPE
type
,
XID
id
)
{
return
LookupClientResourceComplex
(
clients
[
CLIENT_ID
(
id
)],
type
,
XineramaFindIDOnAnyScreen
,
&
id
);
}
typedef
struct
{
typedef
struct
{
int
screen
;
int
screen
;
int
id
;
int
id
;
}
PanoramiXSearchData
;
}
PanoramiXSearchData
;
static
Bool
static
Bool
XineramaFindIDByScrnum
(
void
*
resource
,
XID
id
,
void
*
privdata
)
XineramaFindIDByScrnum
(
void
*
resource
,
XID
id
,
void
*
privdata
)
{
{
...
@@ -387,23 +367,6 @@ PanoramiXFindIDByScrnum(RESTYPE type, XID id, int screen)
...
@@ -387,23 +367,6 @@ PanoramiXFindIDByScrnum(RESTYPE type, XID id, int screen)
XineramaFindIDByScrnum
,
&
data
);
XineramaFindIDByScrnum
,
&
data
);
}
}
WindowPtr
PanoramiXChangeWindow
(
int
ScrnNum
,
WindowPtr
pWin
)
{
int
num
=
pWin
->
drawable
.
pScreen
->
myNum
;
if
(
num
!=
ScrnNum
)
{
PanoramiXRes
*
win
;
win
=
PanoramiXFindIDByScrnum
(
XRT_WINDOW
,
pWin
->
drawable
.
id
,
num
);
if
(
win
)
pWin
=
(
WindowPtr
)
LookupIDByType
(
win
->
info
[
ScrnNum
].
id
,
RT_WINDOW
);
}
return
pWin
;
}
typedef
struct
_connect_callback_list
{
typedef
struct
_connect_callback_list
{
void
(
*
func
)(
void
);
void
(
*
func
)(
void
);
struct
_connect_callback_list
*
next
;
struct
_connect_callback_list
*
next
;
...
@@ -494,7 +457,6 @@ void PanoramiXExtensionInit(int argc, char *argv[])
...
@@ -494,7 +457,6 @@ void PanoramiXExtensionInit(int argc, char *argv[])
if
(
noPanoramiXExtension
)
if
(
noPanoramiXExtension
)
return
;
return
;
GlobalScrInfo
=
&
screenInfo
;
/* For debug visibility */
PanoramiXNumScreens
=
screenInfo
.
numScreens
;
PanoramiXNumScreens
=
screenInfo
.
numScreens
;
if
(
PanoramiXNumScreens
==
1
)
{
/* Only 1 screen */
if
(
PanoramiXNumScreens
==
1
)
{
/* Only 1 screen */
noPanoramiXExtension
=
TRUE
;
noPanoramiXExtension
=
TRUE
;
...
...
nx-X11/programs/Xserver/Xext/panoramiX.h
View file @
49607e93
/* $TOG: panoramiX.h /main/4 1998/03/17 06:51:02 kaleb $ */
/*****************************************************************
/*****************************************************************
Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
...
@@ -94,18 +93,6 @@ typedef struct {
...
@@ -94,18 +93,6 @@ typedef struct {
(a).root = screenInfo.screens[0]->root->drawable.id; \
(a).root = screenInfo.screens[0]->root->drawable.id; \
}
}
#define FORCE_WIN(a) { \
if ((win = PanoramiXFindIDOnAnyScreen(XRT_WINDOW, a))) { \
(a) = win->info[0].id;
/* Real ID */
\
} \
}
#define FORCE_CMAP(a) { \
if ((win = PanoramiXFindIDOnAnyScreen(XRT_COLORMAP, a))) { \
(a) = win->info[0].id;
/* Real ID */
\
} \
}
#define IS_SHARED_PIXMAP(r) (((r)->type == XRT_PIXMAP) && (r)->u.pix.shared)
#define IS_SHARED_PIXMAP(r) (((r)->type == XRT_PIXMAP) && (r)->u.pix.shared)
#define SKIP_FAKE_WINDOW(a) if(!LookupIDByType(a, XRT_WINDOW)) return
#define SKIP_FAKE_WINDOW(a) if(!LookupIDByType(a, XRT_WINDOW)) return
...
...
nx-X11/programs/Xserver/Xext/panoramiXSwap.c
View file @
49607e93
...
@@ -68,6 +68,7 @@ SProcPanoramiXGetState(ClientPtr client)
...
@@ -68,6 +68,7 @@ SProcPanoramiXGetState(ClientPtr client)
swaps
(
&
stuff
->
length
);
swaps
(
&
stuff
->
length
);
REQUEST_SIZE_MATCH
(
xPanoramiXGetStateReq
);
REQUEST_SIZE_MATCH
(
xPanoramiXGetStateReq
);
swapl
(
&
stuff
->
window
);
return
ProcPanoramiXGetState
(
client
);
return
ProcPanoramiXGetState
(
client
);
}
}
...
@@ -78,6 +79,7 @@ SProcPanoramiXGetScreenCount(ClientPtr client)
...
@@ -78,6 +79,7 @@ SProcPanoramiXGetScreenCount(ClientPtr client)
swaps
(
&
stuff
->
length
);
swaps
(
&
stuff
->
length
);
REQUEST_SIZE_MATCH
(
xPanoramiXGetScreenCountReq
);
REQUEST_SIZE_MATCH
(
xPanoramiXGetScreenCountReq
);
swapl
(
&
stuff
->
window
);
return
ProcPanoramiXGetScreenCount
(
client
);
return
ProcPanoramiXGetScreenCount
(
client
);
}
}
...
@@ -88,6 +90,8 @@ SProcPanoramiXGetScreenSize(ClientPtr client)
...
@@ -88,6 +90,8 @@ SProcPanoramiXGetScreenSize(ClientPtr client)
swaps
(
&
stuff
->
length
);
swaps
(
&
stuff
->
length
);
REQUEST_SIZE_MATCH
(
xPanoramiXGetScreenSizeReq
);
REQUEST_SIZE_MATCH
(
xPanoramiXGetScreenSizeReq
);
swapl
(
&
stuff
->
window
);
swapl
(
&
stuff
->
screen
);
return
ProcPanoramiXGetScreenSize
(
client
);
return
ProcPanoramiXGetScreenSize
(
client
);
}
}
...
...
nx-X11/programs/Xserver/Xext/panoramiXh.h
View file @
49607e93
...
@@ -19,10 +19,10 @@ extern int PanoramiXGetGeometry(ClientPtr client);
...
@@ -19,10 +19,10 @@ extern int PanoramiXGetGeometry(ClientPtr client);
extern
int
PanoramiXTranslateCoords
(
ClientPtr
client
);
extern
int
PanoramiXTranslateCoords
(
ClientPtr
client
);
extern
int
PanoramiXCreatePixmap
(
ClientPtr
client
);
extern
int
PanoramiXCreatePixmap
(
ClientPtr
client
);
extern
int
PanoramiXFreePixmap
(
ClientPtr
client
);
extern
int
PanoramiXFreePixmap
(
ClientPtr
client
);
extern
int
PanoramiXCreateGC
(
ClientPtr
client
);
extern
int
PanoramiXChangeGC
(
ClientPtr
client
);
extern
int
PanoramiXChangeGC
(
ClientPtr
client
);
extern
int
PanoramiXCopyGC
(
ClientPtr
client
);
extern
int
PanoramiXCopyGC
(
ClientPtr
client
);
extern
int
PanoramiXCopyColormapAndFree
(
ClientPtr
client
);
extern
int
PanoramiXCopyColormapAndFree
(
ClientPtr
client
);
extern
int
PanoramiXCreateGC
(
ClientPtr
client
);
extern
int
PanoramiXSetDashes
(
ClientPtr
client
);
extern
int
PanoramiXSetDashes
(
ClientPtr
client
);
extern
int
PanoramiXSetClipRectangles
(
ClientPtr
client
);
extern
int
PanoramiXSetClipRectangles
(
ClientPtr
client
);
extern
int
PanoramiXFreeGC
(
ClientPtr
client
);
extern
int
PanoramiXFreeGC
(
ClientPtr
client
);
...
@@ -64,7 +64,6 @@ PROC_EXTERN(ProcPanoramiXGetScreenSize);
...
@@ -64,7 +64,6 @@ PROC_EXTERN(ProcPanoramiXGetScreenSize);
PROC_EXTERN
(
ProcXineramaQueryScreens
);
PROC_EXTERN
(
ProcXineramaQueryScreens
);
PROC_EXTERN
(
ProcXineramaIsActive
);
PROC_EXTERN
(
ProcXineramaIsActive
);
extern
Bool
XineramaCreateGC
(
GCPtr
pGC
);
extern
int
SProcPanoramiXDispatch
(
ClientPtr
client
);
extern
int
SProcPanoramiXDispatch
(
ClientPtr
client
);
...
@@ -72,6 +71,4 @@ extern char *ConnectionInfo;
...
@@ -72,6 +71,4 @@ extern char *ConnectionInfo;
extern
int
connBlockScreenStart
;
extern
int
connBlockScreenStart
;
extern
xConnSetupPrefix
connSetupPrefix
;
extern
xConnSetupPrefix
connSetupPrefix
;
extern
ScreenInfo
*
GlobalScrInfo
;
extern
int
(
*
SavedProcVector
[
256
])
(
ClientPtr
client
);
extern
int
(
*
SavedProcVector
[
256
])
(
ClientPtr
client
);
nx-X11/programs/Xserver/Xext/panoramiXprocs.c
View file @
49607e93
...
@@ -572,7 +572,7 @@ int PanoramiXTranslateCoords(ClientPtr client)
...
@@ -572,7 +572,7 @@ int PanoramiXTranslateCoords(ClientPtr client)
INT16
x
,
y
;
INT16
x
,
y
;
REQUEST
(
xTranslateCoordsReq
);
REQUEST
(
xTranslateCoordsReq
);
register
WindowPtr
pWin
,
pDst
;
WindowPtr
pWin
,
pDst
;
xTranslateCoordsReply
rep
;
xTranslateCoordsReply
rep
;
REQUEST_SIZE_MATCH
(
xTranslateCoordsReq
);
REQUEST_SIZE_MATCH
(
xTranslateCoordsReq
);
...
@@ -1080,8 +1080,8 @@ int PanoramiXCopyArea(ClientPtr client)
...
@@ -1080,8 +1080,8 @@ int PanoramiXCopyArea(ClientPtr client)
VALIDATE_DRAWABLE_AND_GC
(
stuff
->
dstDrawable
,
pDst
,
pGC
,
client
);
VALIDATE_DRAWABLE_AND_GC
(
stuff
->
dstDrawable
,
pDst
,
pGC
,
client
);
if
(
stuff
->
dstDrawable
!=
stuff
->
srcDrawable
)
{
if
(
stuff
->
dstDrawable
!=
stuff
->
srcDrawable
)
{
SECURITY_VERIFY_DRAWABLE
(
pSrc
,
stuff
->
srcDrawable
,
client
,
SECURITY_VERIFY_DRAWABLE
(
pSrc
,
stuff
->
srcDrawable
,
client
,
DixReadAccess
);
DixReadAccess
);
if
((
pDst
->
pScreen
!=
pSrc
->
pScreen
)
||
if
((
pDst
->
pScreen
!=
pSrc
->
pScreen
)
||
(
pDst
->
depth
!=
pSrc
->
depth
))
{
(
pDst
->
depth
!=
pSrc
->
depth
))
{
client
->
errorValue
=
stuff
->
dstDrawable
;
client
->
errorValue
=
stuff
->
dstDrawable
;
return
(
BadMatch
);
return
(
BadMatch
);
...
@@ -1186,7 +1186,7 @@ int PanoramiXCopyPlane(ClientPtr client)
...
@@ -1186,7 +1186,7 @@ int PanoramiXCopyPlane(ClientPtr client)
VALIDATE_DRAWABLE_AND_GC
(
stuff
->
dstDrawable
,
pdstDraw
,
pGC
,
client
);
VALIDATE_DRAWABLE_AND_GC
(
stuff
->
dstDrawable
,
pdstDraw
,
pGC
,
client
);
if
(
stuff
->
dstDrawable
!=
stuff
->
srcDrawable
)
{
if
(
stuff
->
dstDrawable
!=
stuff
->
srcDrawable
)
{
SECURITY_VERIFY_DRAWABLE
(
psrcDraw
,
stuff
->
srcDrawable
,
client
,
SECURITY_VERIFY_DRAWABLE
(
psrcDraw
,
stuff
->
srcDrawable
,
client
,
DixReadAccess
);
DixReadAccess
);
if
(
pdstDraw
->
pScreen
!=
psrcDraw
->
pScreen
)
{
if
(
pdstDraw
->
pScreen
!=
psrcDraw
->
pScreen
)
{
client
->
errorValue
=
stuff
->
dstDrawable
;
client
->
errorValue
=
stuff
->
dstDrawable
;
return
(
BadMatch
);
return
(
BadMatch
);
...
...
nx-X11/programs/Xserver/Xext/saver.c
View file @
49607e93
/*
/*
* $XConsortium: saver.c,v 1.12 94/04/17 20:59:36 dpw Exp $
*
*
Copyright (c) 1992 X Consortium
Copyright (c) 1992 X Consortium
...
@@ -65,7 +64,7 @@ static unsigned char ScreenSaverReqCode = 0;
...
@@ -65,7 +64,7 @@ static unsigned char ScreenSaverReqCode = 0;
#endif
#endif
static
int
ScreenSaverEventBase
=
0
;
static
int
ScreenSaverEventBase
=
0
;
extern
DISPATCH_PROC
(
ProcScreenSaverQueryInfo
);
static
DISPATCH_PROC
(
ProcScreenSaverQueryInfo
);
static
DISPATCH_PROC
(
ProcScreenSaverDispatch
);
static
DISPATCH_PROC
(
ProcScreenSaverDispatch
);
static
DISPATCH_PROC
(
ProcScreenSaverQueryVersion
);
static
DISPATCH_PROC
(
ProcScreenSaverQueryVersion
);
static
DISPATCH_PROC
(
ProcScreenSaverSelectInput
);
static
DISPATCH_PROC
(
ProcScreenSaverSelectInput
);
...
@@ -137,7 +136,7 @@ typedef struct _ScreenSaverSuspension
...
@@ -137,7 +136,7 @@ typedef struct _ScreenSaverSuspension
}
ScreenSaverSuspensionRec
;
}
ScreenSaverSuspensionRec
;
static
int
ScreenSaverFreeSuspend
(
static
int
ScreenSaverFreeSuspend
(
pointer
/*value */
,
void
*
/*value */
,
XID
/* id */
XID
/* id */
);
);
...
@@ -461,7 +460,7 @@ ScreenSaverFreeAttr (value, id)
...
@@ -461,7 +460,7 @@ ScreenSaverFreeAttr (value, id)
}
}
static
int
static
int
ScreenSaverFreeSuspend
(
pointer
value
,
XID
id
)
ScreenSaverFreeSuspend
(
void
*
value
,
XID
id
)
{
{
ScreenSaverSuspensionPtr
data
=
(
ScreenSaverSuspensionPtr
)
value
;
ScreenSaverSuspensionPtr
data
=
(
ScreenSaverSuspensionPtr
)
value
;
ScreenSaverSuspensionPtr
*
prev
,
this
;
ScreenSaverSuspensionPtr
*
prev
,
this
;
...
@@ -767,7 +766,7 @@ ProcScreenSaverQueryVersion (client)
...
@@ -767,7 +766,7 @@ ProcScreenSaverQueryVersion (client)
return
(
client
->
noClientException
);
return
(
client
->
noClientException
);
}
}
int
static
int
ProcScreenSaverQueryInfo
(
client
)
ProcScreenSaverQueryInfo
(
client
)
register
ClientPtr
client
;
register
ClientPtr
client
;
{
{
...
@@ -863,9 +862,7 @@ ScreenSaverSetAttributes (ClientPtr client)
...
@@ -863,9 +862,7 @@ ScreenSaverSetAttributes (ClientPtr client)
ScreenPtr
pScreen
;
ScreenPtr
pScreen
;
ScreenSaverScreenPrivatePtr
pPriv
=
0
;
ScreenSaverScreenPrivatePtr
pPriv
=
0
;
ScreenSaverAttrPtr
pAttr
=
0
;
ScreenSaverAttrPtr
pAttr
=
0
;
int
ret
;
int
ret
,
len
,
class
,
bw
,
depth
;
int
len
;
int
class
,
bw
,
depth
;
unsigned
long
visual
;
unsigned
long
visual
;
int
idepth
,
ivisual
;
int
idepth
,
ivisual
;
Bool
fOK
;
Bool
fOK
;
...
@@ -1404,7 +1401,7 @@ ProcScreenSaverSuspend (ClientPtr client)
...
@@ -1404,7 +1401,7 @@ ProcScreenSaverSuspend (ClientPtr client)
this
->
count
=
1
;
this
->
count
=
1
;
this
->
clientResource
=
FakeClientID
(
client
->
index
);
this
->
clientResource
=
FakeClientID
(
client
->
index
);
if
(
!
AddResource
(
this
->
clientResource
,
SuspendType
,
(
pointer
)
this
))
if
(
!
AddResource
(
this
->
clientResource
,
SuspendType
,
(
void
*
)
this
))
{
{
free
(
this
);
free
(
this
);
return
BadAlloc
;
return
BadAlloc
;
...
...
nx-X11/programs/Xserver/Xext/shm.c
View file @
49607e93
...
@@ -758,10 +758,10 @@ CreatePmap:
...
@@ -758,10 +758,10 @@ CreatePmap:
if
(
sizeof
(
size
)
==
4
&&
BitsPerPixel
(
depth
)
>
8
)
{
if
(
sizeof
(
size
)
==
4
&&
BitsPerPixel
(
depth
)
>
8
)
{
if
(
size
<
width
*
height
)
if
(
size
<
width
*
height
)
return
BadAlloc
;
return
BadAlloc
;
/* thankfully, offset is unsigned */
if
(
stuff
->
offset
+
size
<
size
)
return
BadAlloc
;
}
}
/* thankfully, offset is unsigned */
if
(
stuff
->
offset
+
size
<
size
)
return
BadAlloc
;
VERIFY_SHMSIZE
(
shmdesc
,
stuff
->
offset
,
size
,
client
);
VERIFY_SHMSIZE
(
shmdesc
,
stuff
->
offset
,
size
,
client
);
...
@@ -820,8 +820,8 @@ static int
...
@@ -820,8 +820,8 @@ static int
ProcShmPutImage
(
client
)
ProcShmPutImage
(
client
)
register
ClientPtr
client
;
register
ClientPtr
client
;
{
{
register
GCPtr
pGC
;
GCPtr
pGC
;
register
DrawablePtr
pDraw
;
DrawablePtr
pDraw
;
long
length
;
long
length
;
ShmDescPtr
shmdesc
;
ShmDescPtr
shmdesc
;
REQUEST
(
xShmPutImageReq
);
REQUEST
(
xShmPutImageReq
);
...
@@ -933,7 +933,7 @@ static int
...
@@ -933,7 +933,7 @@ static int
ProcShmGetImage
(
client
)
ProcShmGetImage
(
client
)
register
ClientPtr
client
;
register
ClientPtr
client
;
{
{
register
DrawablePtr
pDraw
;
DrawablePtr
pDraw
;
long
lenPer
=
0
,
length
;
long
lenPer
=
0
,
length
;
Mask
plane
=
0
;
Mask
plane
=
0
;
xShmGetImageReply
xgi
;
xShmGetImageReply
xgi
;
...
@@ -1070,7 +1070,7 @@ ProcShmCreatePixmap(client)
...
@@ -1070,7 +1070,7 @@ ProcShmCreatePixmap(client)
register
ClientPtr
client
;
register
ClientPtr
client
;
{
{
PixmapPtr
pMap
;
PixmapPtr
pMap
;
register
DrawablePtr
pDraw
;
DrawablePtr
pDraw
;
DepthPtr
pDepth
;
DepthPtr
pDepth
;
register
int
i
;
register
int
i
;
ShmDescPtr
shmdesc
;
ShmDescPtr
shmdesc
;
...
@@ -1112,9 +1112,9 @@ CreatePmap:
...
@@ -1112,9 +1112,9 @@ CreatePmap:
if
(
sizeof
(
size
)
==
4
&&
BitsPerPixel
(
depth
)
>
8
)
{
if
(
sizeof
(
size
)
==
4
&&
BitsPerPixel
(
depth
)
>
8
)
{
if
(
size
<
width
*
height
)
if
(
size
<
width
*
height
)
return
BadAlloc
;
return
BadAlloc
;
/* thankfully, offset is unsigned */
/* thankfully, offset is unsigned */
if
(
stuff
->
offset
+
size
<
size
)
if
(
stuff
->
offset
+
size
<
size
)
return
BadAlloc
;
return
BadAlloc
;
}
}
VERIFY_SHMSIZE
(
shmdesc
,
stuff
->
offset
,
size
,
client
);
VERIFY_SHMSIZE
(
shmdesc
,
stuff
->
offset
,
size
,
client
);
...
...
nx-X11/programs/Xserver/Xext/shmint.h
View file @
49607e93
/*
/*
* $Id$
*
* Copyright © 2003 Keith Packard
* Copyright © 2003 Keith Packard
*
*
* Permission to use, copy, modify, distribute, and sell this software and its
* Permission to use, copy, modify, distribute, and sell this software and its
...
...
nx-X11/programs/Xserver/Xext/sleepuntil.c
View file @
49607e93
/*
/*
* $Xorg: sleepuntil.c,v 1.4 2001/02/09 02:04:33 xorgcvs Exp $
*
*
Copyright 1992, 1998 The Open Group
Copyright 1992, 1998 The Open Group
...
...
nx-X11/programs/Xserver/Xext/sync.c
View file @
49607e93
...
@@ -71,9 +71,8 @@ PERFORMANCE OF THIS SOFTWARE.
...
@@ -71,9 +71,8 @@ PERFORMANCE OF THIS SOFTWARE.
#include "protocol-versions.h"
#include "protocol-versions.h"
#include <stdio.h>
#include <stdio.h>
#if !defined(WIN32)
#include <sys/time.h>
#include <sys/time.h>
#endif
/*
/*
* Local Global Variables
* Local Global Variables
...
@@ -572,7 +571,7 @@ SyncSendAlarmNotifyEvents(pAlarm)
...
@@ -572,7 +571,7 @@ SyncSendAlarmNotifyEvents(pAlarm)
/* send to other interested clients */
/* send to other interested clients */
for
(
pcl
=
pAlarm
->
pEventClients
;
pcl
;
pcl
=
pcl
->
next
)
for
(
pcl
=
pAlarm
->
pEventClients
;
pcl
;
pcl
=
pcl
->
next
)
WriteEventsToClient
(
pcl
->
client
,
1
,
(
xEvent
*
)
&
ane
);
WriteEventsToClient
(
pcl
->
client
,
1
,
(
xEvent
*
)
&
ane
);
}
}
...
@@ -1112,7 +1111,7 @@ SyncComputeBracketValues(pCounter, startOver)
...
@@ -1112,7 +1111,7 @@ SyncComputeBracketValues(pCounter, startOver)
{
{
SyncTriggerList
*
pCur
;
SyncTriggerList
*
pCur
;
SyncTrigger
*
pTrigger
;
SyncTrigger
*
pTrigger
;
SysCounterInfo
*
psci
=
pCounter
->
pSysCounterInfo
;
SysCounterInfo
*
psci
;
CARD64
*
pnewgtval
=
NULL
;
CARD64
*
pnewgtval
=
NULL
;
CARD64
*
pnewltval
=
NULL
;
CARD64
*
pnewltval
=
NULL
;
SyncCounterType
ct
;
SyncCounterType
ct
;
...
@@ -1120,6 +1119,7 @@ SyncComputeBracketValues(pCounter, startOver)
...
@@ -1120,6 +1119,7 @@ SyncComputeBracketValues(pCounter, startOver)
if
(
!
pCounter
)
if
(
!
pCounter
)
return
;
return
;
psci
=
pCounter
->
pSysCounterInfo
;
ct
=
pCounter
->
pSysCounterInfo
->
counterType
;
ct
=
pCounter
->
pSysCounterInfo
->
counterType
;
if
(
ct
==
XSyncCounterNeverChanges
)
if
(
ct
==
XSyncCounterNeverChanges
)
return
;
return
;
...
@@ -2460,7 +2460,7 @@ ServertimeQueryValue(pCounter, pValue_return)
...
@@ -2460,7 +2460,7 @@ ServertimeQueryValue(pCounter, pValue_return)
static
void
static
void
ServertimeBracketValues
(
pCounter
,
pbracket_less
,
pbracket_greater
)
ServertimeBracketValues
(
pCounter
,
pbracket_less
,
pbracket_greater
)
void
*
pCounter
;
void
*
pCounter
;
CARD64
*
pbracket_less
;
CARD64
*
pbracket_less
;
CARD64
*
pbracket_greater
;
CARD64
*
pbracket_greater
;
{
{
...
@@ -2480,7 +2480,7 @@ ServertimeBracketValues(pCounter, pbracket_less, pbracket_greater)
...
@@ -2480,7 +2480,7 @@ ServertimeBracketValues(pCounter, pbracket_less, pbracket_greater)
}
}
static
void
static
void
SyncInitServerTime
()
SyncInitServerTime
(
void
)
{
{
CARD64
resolution
;
CARD64
resolution
;
...
@@ -2502,14 +2502,14 @@ static XSyncValue *pIdleTimeValueLess;
...
@@ -2502,14 +2502,14 @@ static XSyncValue *pIdleTimeValueLess;
static
XSyncValue
*
pIdleTimeValueGreater
;
static
XSyncValue
*
pIdleTimeValueGreater
;
static
void
static
void
IdleTimeQueryValue
(
pointer
pCounter
,
CARD64
*
pValue_return
)
IdleTimeQueryValue
(
void
*
pCounter
,
CARD64
*
pValue_return
)
{
{
CARD32
idle
=
GetTimeInMillis
()
-
lastDeviceEventTime
.
milliseconds
;
CARD32
idle
=
GetTimeInMillis
()
-
lastDeviceEventTime
.
milliseconds
;
XSyncIntsToValue
(
pValue_return
,
idle
,
0
);
XSyncIntsToValue
(
pValue_return
,
idle
,
0
);
}
}
static
void
static
void
IdleTimeBlockHandler
(
pointer
env
,
struct
timeval
**
wt
,
pointer
LastSelectMask
)
IdleTimeBlockHandler
(
void
*
env
,
struct
timeval
**
wt
,
void
*
LastSelectMask
)
{
{
XSyncValue
idle
,
old_idle
;
XSyncValue
idle
,
old_idle
;
SyncTriggerList
*
list
=
IdleTimeCounter
->
pTriglist
;
SyncTriggerList
*
list
=
IdleTimeCounter
->
pTriglist
;
...
@@ -2584,9 +2584,9 @@ IdleTimeBlockHandler (pointer env, struct timeval **wt, pointer LastSelectMask)
...
@@ -2584,9 +2584,9 @@ IdleTimeBlockHandler (pointer env, struct timeval **wt, pointer LastSelectMask)
}
}
static
void
static
void
IdleTimeWakeupHandler
(
pointer
env
,
IdleTimeWakeupHandler
(
void
*
env
,
int
rc
,
int
rc
,
pointer
LastSelectMask
)
void
*
LastSelectMask
)
{
{
XSyncValue
idle
;
XSyncValue
idle
;
...
@@ -2598,14 +2598,14 @@ IdleTimeWakeupHandler (pointer env,
...
@@ -2598,14 +2598,14 @@ IdleTimeWakeupHandler (pointer env,
if
((
pIdleTimeValueGreater
&&
if
((
pIdleTimeValueGreater
&&
XSyncValueGreaterOrEqual
(
idle
,
*
pIdleTimeValueGreater
))
||
XSyncValueGreaterOrEqual
(
idle
,
*
pIdleTimeValueGreater
))
||
(
pIdleTimeValueLess
&&
(
pIdleTimeValueLess
&&
XSyncValueLessOrEqual
(
idle
,
*
pIdleTimeValueLess
)))
XSyncValueLessOrEqual
(
idle
,
*
pIdleTimeValueLess
)))
{
{
SyncChangeCounter
(
IdleTimeCounter
,
idle
);
SyncChangeCounter
(
IdleTimeCounter
,
idle
);
}
}
}
}
static
void
static
void
IdleTimeBracketValues
(
pointer
pCounter
,
IdleTimeBracketValues
(
void
*
pCounter
,
CARD64
*
pbracket_less
,
CARD64
*
pbracket_less
,
CARD64
*
pbracket_greater
)
CARD64
*
pbracket_greater
)
{
{
...
...
nx-X11/programs/Xserver/Xext/xf86bigfont.c
View file @
49607e93
...
@@ -66,6 +66,7 @@
...
@@ -66,6 +66,7 @@
#include <nx-X11/X.h>
#include <nx-X11/X.h>
#include <nx-X11/Xproto.h>
#include <nx-X11/Xproto.h>
#include "misc.h"
#include "misc.h"
#include "os.h"
#include "dixstruct.h"
#include "dixstruct.h"
#include "gcstruct.h"
#include "gcstruct.h"
#include "dixfontstr.h"
#include "dixfontstr.h"
...
...
nx-X11/programs/Xserver/Xext/xres.c
View file @
49607e93
...
@@ -17,6 +17,9 @@
...
@@ -17,6 +17,9 @@
#include "swaprep.h"
#include "swaprep.h"
#include <nx-X11/extensions/XResproto.h>
#include <nx-X11/extensions/XResproto.h>
#include "pixmapstr.h"
#include "pixmapstr.h"
#include "windowstr.h"
#include "gcstruct.h"
#include "protocol-versions.h"
#include "protocol-versions.h"
static
int
static
int
...
@@ -171,13 +174,54 @@ ProcXResQueryClientResources (ClientPtr client)
...
@@ -171,13 +174,54 @@ ProcXResQueryClientResources (ClientPtr client)
return
(
client
->
noClientException
);
return
(
client
->
noClientException
);
}
}
static
unsigned
long
ResGetApproxPixmapBytes
(
PixmapPtr
pix
)
{
unsigned
long
nPixels
;
int
bytesPerPixel
;
bytesPerPixel
=
pix
->
drawable
.
bitsPerPixel
>>
3
;
nPixels
=
pix
->
drawable
.
width
*
pix
->
drawable
.
height
;
/* Divide by refcnt as pixmap could be shared between clients,
* so total pixmap mem is shared between these.
*/
return
(
nPixels
*
bytesPerPixel
)
/
pix
->
refcnt
;
}
static
void
static
void
ResFindPixmaps
(
void
*
value
,
XID
id
,
void
*
cdata
)
ResFindPixmaps
(
void
*
value
,
XID
id
,
void
*
cdata
)
{
{
unsigned
long
*
bytes
=
(
unsigned
long
*
)
cdata
;
unsigned
long
*
bytes
=
(
unsigned
long
*
)
cdata
;
PixmapPtr
pix
=
(
PixmapPtr
)
value
;
PixmapPtr
pix
=
(
PixmapPtr
)
value
;
*
bytes
+=
(
pix
->
devKind
*
pix
->
drawable
.
height
);
*
bytes
+=
ResGetApproxPixmapBytes
(
pix
);
}
static
void
ResFindWindowPixmaps
(
void
*
value
,
XID
id
,
void
*
cdata
)
{
unsigned
long
*
bytes
=
(
unsigned
long
*
)
cdata
;
WindowPtr
pWin
=
(
WindowPtr
)
value
;
if
(
pWin
->
backgroundState
==
BackgroundPixmap
)
*
bytes
+=
ResGetApproxPixmapBytes
(
pWin
->
background
.
pixmap
);
if
(
pWin
->
border
.
pixmap
!=
NULL
&&
!
pWin
->
borderIsPixel
)
*
bytes
+=
ResGetApproxPixmapBytes
(
pWin
->
border
.
pixmap
);
}
static
void
ResFindGCPixmaps
(
void
*
value
,
XID
id
,
void
*
cdata
)
{
unsigned
long
*
bytes
=
(
unsigned
long
*
)
cdata
;
GCPtr
pGC
=
(
GCPtr
)
value
;
if
(
pGC
->
stipple
!=
NULL
)
*
bytes
+=
ResGetApproxPixmapBytes
(
pGC
->
stipple
);
if
(
pGC
->
tile
.
pixmap
!=
NULL
&&
!
pGC
->
tileIsPixel
)
*
bytes
+=
ResGetApproxPixmapBytes
(
pGC
->
tile
.
pixmap
);
}
}
static
int
static
int
...
@@ -204,6 +248,24 @@ ProcXResQueryClientPixmapBytes (ClientPtr client)
...
@@ -204,6 +248,24 @@ ProcXResQueryClientPixmapBytes (ClientPtr client)
FindClientResourcesByType
(
clients
[
clientID
],
RT_PIXMAP
,
ResFindPixmaps
,
FindClientResourcesByType
(
clients
[
clientID
],
RT_PIXMAP
,
ResFindPixmaps
,
(
void
*
)(
&
bytes
));
(
void
*
)(
&
bytes
));
/*
* Make sure win background pixmaps also held to account.
*/
FindClientResourcesByType
(
clients
[
clientID
],
RT_WINDOW
,
ResFindWindowPixmaps
,
(
void
*
)(
&
bytes
));
/*
* GC Tile & Stipple pixmaps too.
*/
FindClientResourcesByType
(
clients
[
clientID
],
RT_GC
,
ResFindGCPixmaps
,
(
void
*
)(
&
bytes
));
#ifdef COMPOSITE
/* FIXME: include composite pixmaps too */
#endif
rep
.
type
=
X_Reply
;
rep
.
type
=
X_Reply
;
rep
.
sequenceNumber
=
client
->
sequence
;
rep
.
sequenceNumber
=
client
->
sequence
;
rep
.
length
=
0
;
rep
.
length
=
0
;
...
...
nx-X11/programs/Xserver/Xext/xtest.c
View file @
49607e93
...
@@ -168,12 +168,10 @@ ProcXTestFakeInput(client)
...
@@ -168,12 +168,10 @@ ProcXTestFakeInput(client)
register
ClientPtr
client
;
register
ClientPtr
client
;
{
{
REQUEST
(
xXTestFakeInputReq
);
REQUEST
(
xXTestFakeInputReq
);
int
nev
;
int
nev
,
n
,
type
;
int
n
;
xEvent
*
ev
;
xEvent
*
ev
;
DeviceIntPtr
dev
=
NULL
;
DeviceIntPtr
dev
=
NULL
;
WindowPtr
root
;
WindowPtr
root
;
int
type
;
#ifdef XINPUT
#ifdef XINPUT
Bool
extension
=
FALSE
;
Bool
extension
=
FALSE
;
deviceValuator
*
dv
=
NULL
;
deviceValuator
*
dv
=
NULL
;
...
@@ -437,6 +435,8 @@ ProcXTestFakeInput(client)
...
@@ -437,6 +435,8 @@ ProcXTestFakeInput(client)
(
root
->
drawable
.
pScreen
,
(
root
->
drawable
.
pScreen
,
ev
->
u
.
keyButtonPointer
.
rootX
,
ev
->
u
.
keyButtonPointer
.
rootX
,
ev
->
u
.
keyButtonPointer
.
rootY
,
FALSE
);
ev
->
u
.
keyButtonPointer
.
rootY
,
FALSE
);
dev
->
valuator
->
lastx
=
ev
->
u
.
keyButtonPointer
.
rootX
;
dev
->
valuator
->
lasty
=
ev
->
u
.
keyButtonPointer
.
rootY
;
break
;
break
;
case
ButtonPress
:
case
ButtonPress
:
case
ButtonRelease
:
case
ButtonRelease
:
...
...
nx-X11/programs/Xserver/Xext/xvdisp.c
View file @
49607e93
...
@@ -381,10 +381,8 @@ ProcXvQueryAdaptors(ClientPtr client)
...
@@ -381,10 +381,8 @@ ProcXvQueryAdaptors(ClientPtr client)
xvFormat
format
;
xvFormat
format
;
xvAdaptorInfo
ainfo
;
xvAdaptorInfo
ainfo
;
xvQueryAdaptorsReply
rep
;
xvQueryAdaptorsReply
rep
;
int
totalSize
;
int
totalSize
,
na
,
nf
;
int
na
;
XvAdaptorPtr
pa
;
XvAdaptorPtr
pa
;
int
nf
;
XvFormatPtr
pf
;
XvFormatPtr
pf
;
WindowPtr
pWin
;
WindowPtr
pWin
;
ScreenPtr
pScreen
;
ScreenPtr
pScreen
;
...
@@ -539,9 +537,9 @@ ProcXvQueryEncodings(ClientPtr client)
...
@@ -539,9 +537,9 @@ ProcXvQueryEncodings(ClientPtr client)
static
int
static
int
ProcXvPutVideo
(
ClientPtr
client
)
ProcXvPutVideo
(
ClientPtr
client
)
{
{
register
DrawablePtr
pDraw
;
DrawablePtr
pDraw
;
XvPortPtr
pPort
;
XvPortPtr
pPort
;
register
GCPtr
pGC
;
GCPtr
pGC
;
int
status
;
int
status
;
REQUEST
(
xvPutVideoReq
);
REQUEST
(
xvPutVideoReq
);
...
@@ -585,9 +583,9 @@ ProcXvPutVideo(ClientPtr client)
...
@@ -585,9 +583,9 @@ ProcXvPutVideo(ClientPtr client)
static
int
static
int
ProcXvPutStill
(
ClientPtr
client
)
ProcXvPutStill
(
ClientPtr
client
)
{
{
register
DrawablePtr
pDraw
;
DrawablePtr
pDraw
;
XvPortPtr
pPort
;
XvPortPtr
pPort
;
register
GCPtr
pGC
;
GCPtr
pGC
;
int
status
;
int
status
;
REQUEST
(
xvPutStillReq
);
REQUEST
(
xvPutStillReq
);
...
@@ -632,9 +630,9 @@ ProcXvPutStill(ClientPtr client)
...
@@ -632,9 +630,9 @@ ProcXvPutStill(ClientPtr client)
static
int
static
int
ProcXvGetVideo
(
ClientPtr
client
)
ProcXvGetVideo
(
ClientPtr
client
)
{
{
register
DrawablePtr
pDraw
;
DrawablePtr
pDraw
;
XvPortPtr
pPort
;
XvPortPtr
pPort
;
register
GCPtr
pGC
;
GCPtr
pGC
;
int
status
;
int
status
;
REQUEST
(
xvGetVideoReq
);
REQUEST
(
xvGetVideoReq
);
...
@@ -679,9 +677,9 @@ ProcXvGetVideo(ClientPtr client)
...
@@ -679,9 +677,9 @@ ProcXvGetVideo(ClientPtr client)
static
int
static
int
ProcXvGetStill
(
ClientPtr
client
)
ProcXvGetStill
(
ClientPtr
client
)
{
{
register
DrawablePtr
pDraw
;
DrawablePtr
pDraw
;
XvPortPtr
pPort
;
XvPortPtr
pPort
;
register
GCPtr
pGC
;
GCPtr
pGC
;
int
status
;
int
status
;
REQUEST
(
xvGetStillReq
);
REQUEST
(
xvGetStillReq
);
...
@@ -725,7 +723,7 @@ ProcXvGetStill(ClientPtr client)
...
@@ -725,7 +723,7 @@ ProcXvGetStill(ClientPtr client)
static
int
static
int
ProcXvSelectVideoNotify
(
ClientPtr
client
)
ProcXvSelectVideoNotify
(
ClientPtr
client
)
{
{
register
DrawablePtr
pDraw
;
DrawablePtr
pDraw
;
REQUEST
(
xvSelectVideoNotifyReq
);
REQUEST
(
xvSelectVideoNotifyReq
);
REQUEST_SIZE_MATCH
(
xvSelectVideoNotifyReq
);
REQUEST_SIZE_MATCH
(
xvSelectVideoNotifyReq
);
...
@@ -831,7 +829,7 @@ static int
...
@@ -831,7 +829,7 @@ static int
ProcXvStopVideo
(
ClientPtr
client
)
ProcXvStopVideo
(
ClientPtr
client
)
{
{
int
status
;
int
status
;
register
DrawablePtr
pDraw
;
DrawablePtr
pDraw
;
XvPortPtr
pPort
;
XvPortPtr
pPort
;
REQUEST
(
xvStopVideoReq
);
REQUEST
(
xvStopVideoReq
);
REQUEST_SIZE_MATCH
(
xvStopVideoReq
);
REQUEST_SIZE_MATCH
(
xvStopVideoReq
);
...
...
nx-X11/programs/Xserver/Xext/xvmain.c
View file @
49607e93
...
@@ -153,7 +153,7 @@ static int XvdiSendVideoNotify(XvPortPtr, DrawablePtr, int);
...
@@ -153,7 +153,7 @@ static int XvdiSendVideoNotify(XvPortPtr, DrawablePtr, int);
*/
*/
void
void
XvExtensionInit
()
XvExtensionInit
(
void
)
{
{
ExtensionEntry
*
extEntry
;
ExtensionEntry
*
extEntry
;
...
@@ -205,7 +205,7 @@ XvExtensionInit()
...
@@ -205,7 +205,7 @@ XvExtensionInit()
}
}
static
Bool
static
Bool
CreateResourceTypes
()
CreateResourceTypes
(
void
)
{
{
...
...
nx-X11/programs/Xserver/Xext/xvmc.c
View file @
49607e93
...
@@ -668,7 +668,7 @@ SProcXvMCDispatch (ClientPtr client)
...
@@ -668,7 +668,7 @@ SProcXvMCDispatch (ClientPtr client)
}
}
void
void
XvMCExtensionInit
()
XvMCExtensionInit
(
void
)
{
{
ExtensionEntry
*
extEntry
;
ExtensionEntry
*
extEntry
;
...
...
nx-X11/programs/Xserver/code-versions.txt
View file @
49607e93
...
@@ -16,7 +16,7 @@ os 7.1/1.1
...
@@ -16,7 +16,7 @@ os 7.1/1.1
randr 1.18.0
randr 1.18.0
record 1.4.2
record 1.4.2
render 6.9/7.0
render 6.9/7.0
Xext
7.1/1.1
Xext
1.4.2
xfixes 1.4.2
xfixes 1.4.2
Xi 1.3.0.0
Xi 1.3.0.0
xkb 1.3.0.0
xkb 1.3.0.0
nx-X11/programs/Xserver/hw/nxagent/NXshm.c
View file @
49607e93
...
@@ -95,15 +95,21 @@ ShmExtensionInit(void)
...
@@ -95,15 +95,21 @@ ShmExtensionInit(void)
}
}
#endif
#endif
#ifdef NXAGENT_SERVER
if
(
nxagentOption
(
SharedMemory
)
==
False
)
if
(
nxagentOption
(
SharedMemory
)
==
False
)
{
{
return
;
return
;
}
}
#endif
sharedPixmaps
=
xFalse
;
sharedPixmaps
=
xFalse
;
pixmapFormat
=
0
;
pixmapFormat
=
0
;
{
{
#ifdef NXAGENT_SERVER
sharedPixmaps
=
nxagentOption
(
SharedPixmaps
);
sharedPixmaps
=
nxagentOption
(
SharedPixmaps
);
#else
sharedPixmaps
=
xTrue
;
#endif
pixmapFormat
=
shmPixFormat
[
0
];
pixmapFormat
=
shmPixFormat
[
0
];
for
(
i
=
0
;
i
<
screenInfo
.
numScreens
;
i
++
)
for
(
i
=
0
;
i
<
screenInfo
.
numScreens
;
i
++
)
{
{
...
@@ -156,7 +162,7 @@ ShmExtensionInit(void)
...
@@ -156,7 +162,7 @@ ShmExtensionInit(void)
}
}
static
void
static
void
miShmPutImage
(
dst
,
pGC
,
depth
,
format
,
w
,
h
,
sx
,
sy
,
sw
,
sh
,
dx
,
dy
,
data
)
nxagent_
miShmPutImage
(
dst
,
pGC
,
depth
,
format
,
w
,
h
,
sx
,
sy
,
sw
,
sh
,
dx
,
dy
,
data
)
DrawablePtr
dst
;
DrawablePtr
dst
;
GCPtr
pGC
;
GCPtr
pGC
;
int
depth
,
w
,
h
,
sx
,
sy
,
sw
,
sh
,
dx
,
dy
;
int
depth
,
w
,
h
,
sx
,
sy
,
sw
,
sh
,
dx
,
dy
;
...
@@ -166,18 +172,15 @@ miShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
...
@@ -166,18 +172,15 @@ miShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
PixmapPtr
pmap
;
PixmapPtr
pmap
;
GCPtr
putGC
;
GCPtr
putGC
;
nxagentShmTrap
=
0
;
putGC
=
GetScratchGC
(
depth
,
dst
->
pScreen
);
putGC
=
GetScratchGC
(
depth
,
dst
->
pScreen
);
if
(
!
putGC
)
if
(
!
putGC
)
{
{
nxagentShmTrap
=
1
;
return
;
return
;
}
}
pmap
=
(
*
dst
->
pScreen
->
CreatePixmap
)(
dst
->
pScreen
,
sw
,
sh
,
depth
,
pmap
=
(
*
dst
->
pScreen
->
CreatePixmap
)(
dst
->
pScreen
,
sw
,
sh
,
depth
,
CREATE_PIXMAP_USAGE_SCRATCH
);
CREATE_PIXMAP_USAGE_SCRATCH
);
if
(
!
pmap
)
if
(
!
pmap
)
{
{
nxagentShmTrap
=
1
;
FreeScratchGC
(
putGC
);
FreeScratchGC
(
putGC
);
return
;
return
;
}
}
...
@@ -192,9 +195,28 @@ miShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
...
@@ -192,9 +195,28 @@ miShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
(
void
)(
*
pGC
->
ops
->
CopyArea
)((
DrawablePtr
)
pmap
,
dst
,
pGC
,
0
,
0
,
sw
,
sh
,
(
void
)(
*
pGC
->
ops
->
CopyArea
)((
DrawablePtr
)
pmap
,
dst
,
pGC
,
0
,
0
,
sw
,
sh
,
dx
,
dy
);
dx
,
dy
);
(
*
pmap
->
drawable
.
pScreen
->
DestroyPixmap
)(
pmap
);
(
*
pmap
->
drawable
.
pScreen
->
DestroyPixmap
)(
pmap
);
}
static
void
miShmPutImage
(
dst
,
pGC
,
depth
,
format
,
w
,
h
,
sx
,
sy
,
sw
,
sh
,
dx
,
dy
,
data
)
DrawablePtr
dst
;
GCPtr
pGC
;
int
depth
,
w
,
h
,
sx
,
sy
,
sw
,
sh
,
dx
,
dy
;
unsigned
int
format
;
char
*
data
;
{
/* Careful! This wrapper DEACTIVATES the trap! */
nxagentShmTrap
=
0
;
nxagent_miShmPutImage
(
dst
,
pGC
,
depth
,
format
,
w
,
h
,
sx
,
sy
,
sw
,
sh
,
dx
,
dy
,
data
);
nxagentShmTrap
=
1
;
nxagentShmTrap
=
1
;
return
;
}
}
static
void
static
void
fbShmPutImage
(
dst
,
pGC
,
depth
,
format
,
w
,
h
,
sx
,
sy
,
sw
,
sh
,
dx
,
dy
,
data
)
fbShmPutImage
(
dst
,
pGC
,
depth
,
format
,
w
,
h
,
sx
,
sy
,
sw
,
sh
,
dx
,
dy
,
data
)
DrawablePtr
dst
;
DrawablePtr
dst
;
...
@@ -203,6 +225,7 @@ fbShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
...
@@ -203,6 +225,7 @@ fbShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
unsigned
int
format
;
unsigned
int
format
;
char
*
data
;
char
*
data
;
{
{
#ifdef NXAGENT_SERVER
int
length
;
int
length
;
char
*
newdata
;
char
*
newdata
;
extern
int
nxagentImageLength
(
int
,
int
,
int
,
int
,
int
);
extern
int
nxagentImageLength
(
int
,
int
,
int
,
int
,
int
);
...
@@ -211,6 +234,7 @@ fbShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
...
@@ -211,6 +234,7 @@ fbShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
fprintf
(
stderr
,
"fbShmPutImage: Called with drawable at [%p] GC at [%p] data at [%p].
\n
"
,
fprintf
(
stderr
,
"fbShmPutImage: Called with drawable at [%p] GC at [%p] data at [%p].
\n
"
,
(
void
*
)
dst
,
(
void
*
)
pGC
,
(
void
*
)
data
);
(
void
*
)
dst
,
(
void
*
)
pGC
,
(
void
*
)
data
);
#endif
#endif
#endif
if
((
format
==
ZPixmap
)
||
(
depth
==
1
))
if
((
format
==
ZPixmap
)
||
(
depth
==
1
))
{
{
...
@@ -227,6 +251,7 @@ fbShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
...
@@ -227,6 +251,7 @@ fbShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
(
void
)(
*
pGC
->
ops
->
CopyArea
)((
DrawablePtr
)
pPixmap
,
dst
,
pGC
,
(
void
)(
*
pGC
->
ops
->
CopyArea
)((
DrawablePtr
)
pPixmap
,
dst
,
pGC
,
sx
,
sy
,
sw
,
sh
,
dx
,
dy
);
sx
,
sy
,
sw
,
sh
,
dx
,
dy
);
#ifdef NXAGENT_SERVER
/*
/*
* We updated the internal framebuffer,
* We updated the internal framebuffer,
* now we want to go on the real X.
* now we want to go on the real X.
...
@@ -255,6 +280,7 @@ fbShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
...
@@ -255,6 +280,7 @@ fbShmPutImage(dst, pGC, depth, format, w, h, sx, sy, sw, sh, dx, dy, data)
#endif
#endif
}
}
#endif
/* NXAGENT_SERVER */
FreeScratchPixmapHeader
(
pPixmap
);
FreeScratchPixmapHeader
(
pPixmap
);
}
}
else
else
...
@@ -345,17 +371,46 @@ ProcShmPutImage(client)
...
@@ -345,17 +371,46 @@ ProcShmPutImage(client)
stuff
->
srcY
,
stuff
->
totalWidth
,
stuff
->
totalHeight
);
stuff
->
srcY
,
stuff
->
totalWidth
,
stuff
->
totalHeight
);
#endif
#endif
#ifdef TEST
#ifndef NXAGENT_SERVER
fprintf
(
stderr
,
"ProcShmPutImage: Calling (*shmFuncs[pDraw->pScreen->myNum]->PutImage)().
\n
"
);
/*
#endif
It seems like this code was removed for a good reason. Including
it leads to very strange issues when coupled with libXcomp and using
(
*
shmFuncs
[
pDraw
->
pScreen
->
myNum
]
->
PutImage
)(
connection speed settings lower than LAN (and even on LAN some icons
pDraw
,
pGC
,
stuff
->
depth
,
stuff
->
format
,
are not showing up correctly, e.g., when using MATE).
stuff
->
totalWidth
,
stuff
->
totalHeight
,
stuff
->
srcX
,
stuff
->
srcY
,
Further investigation on why this happens pending and might happen at a
stuff
->
srcWidth
,
stuff
->
srcHeight
,
later time.
See also ArcticaProject/nx-libs#656
*/
if
((((
stuff
->
format
==
ZPixmap
)
&&
(
stuff
->
srcX
==
0
))
||
((
stuff
->
format
!=
ZPixmap
)
&&
(
stuff
->
srcX
<
screenInfo
.
bitmapScanlinePad
)
&&
((
stuff
->
format
==
XYBitmap
)
||
-
((
stuff
->
srcY
==
0
)
&&
-
(
stuff
->
srcHeight
==
stuff
->
totalHeight
)))))
&&
((
stuff
->
srcX
+
stuff
->
srcWidth
)
==
stuff
->
totalWidth
))
(
*
pGC
->
ops
->
PutImage
)
(
pDraw
,
pGC
,
stuff
->
depth
,
stuff
->
dstX
,
stuff
->
dstY
,
stuff
->
dstX
,
stuff
->
dstY
,
shmdesc
->
addr
+
stuff
->
offset
);
stuff
->
totalWidth
,
stuff
->
srcHeight
,
stuff
->
srcX
,
stuff
->
format
,
shmdesc
->
addr
+
stuff
->
offset
+
(
stuff
->
srcY
*
length
));
-
else
#endif
{
#ifdef TEST
fprintf
(
stderr
,
"ProcShmPutImage: Calling (*shmFuncs[pDraw->pScreen->myNum]->PutImage)().
\n
"
);
#endif
(
*
shmFuncs
[
pDraw
->
pScreen
->
myNum
]
->
PutImage
)(
pDraw
,
pGC
,
stuff
->
depth
,
stuff
->
format
,
stuff
->
totalWidth
,
stuff
->
totalHeight
,
stuff
->
srcX
,
stuff
->
srcY
,
stuff
->
srcWidth
,
stuff
->
srcHeight
,
stuff
->
dstX
,
stuff
->
dstY
,
shmdesc
->
addr
+
stuff
->
offset
);
}
if
(
stuff
->
sendEvent
)
if
(
stuff
->
sendEvent
)
{
{
...
@@ -376,7 +431,7 @@ ProcShmPutImage(client)
...
@@ -376,7 +431,7 @@ ProcShmPutImage(client)
static
PixmapPtr
static
PixmapPtr
fbShmCreatePixmap
(
pScreen
,
width
,
height
,
depth
,
addr
)
nxagent_
fbShmCreatePixmap
(
pScreen
,
width
,
height
,
depth
,
addr
)
ScreenPtr
pScreen
;
ScreenPtr
pScreen
;
int
width
;
int
width
;
int
height
;
int
height
;
...
@@ -385,47 +440,59 @@ fbShmCreatePixmap (pScreen, width, height, depth, addr)
...
@@ -385,47 +440,59 @@ fbShmCreatePixmap (pScreen, width, height, depth, addr)
{
{
register
PixmapPtr
pPixmap
;
register
PixmapPtr
pPixmap
;
nxagentShmPixmapTrap
=
1
;
pPixmap
=
(
*
pScreen
->
CreatePixmap
)(
pScreen
,
width
,
height
,
depth
,
0
);
pPixmap
=
(
*
pScreen
->
CreatePixmap
)(
pScreen
,
width
,
height
,
depth
,
0
);
if
(
!
pPixmap
)
if
(
!
pPixmap
)
{
{
nxagentShmPixmapTrap
=
0
;
return
NullPixmap
;
return
NullPixmap
;
}
}
#if
def TEST
#if
defined(NXAGENT_SERVER) && defined(TEST)
fprintf
(
stderr
,
"fbShmCreatePixmap: Width [%d] Height [%d] Depth [%d] Hint[%d]
\n
"
,
width
,
height
,
depth
,
0
);
fprintf
(
stderr
,
"fbShmCreatePixmap: Width [%d] Height [%d] Depth [%d] Hint[%d]
\n
"
,
width
,
height
,
depth
,
0
);
#endif
#endif
if
(
!
(
*
pScreen
->
ModifyPixmapHeader
)(
pPixmap
,
width
,
height
,
depth
,
if
(
!
(
*
pScreen
->
ModifyPixmapHeader
)(
pPixmap
,
width
,
height
,
depth
,
BitsPerPixel
(
depth
),
PixmapBytePad
(
width
,
depth
),
(
void
*
)
addr
))
BitsPerPixel
(
depth
),
PixmapBytePad
(
width
,
depth
),
(
void
*
)
addr
))
{
{
#if
def WARNING
#if
defined(NXAGENT_SERVER) && defined(WARNING)
fprintf
(
stderr
,
"fbShmCreatePixmap: Return Null Pixmap.
\n
"
);
fprintf
(
stderr
,
"fbShmCreatePixmap: Return Null Pixmap.
\n
"
);
#endif
#endif
(
*
pScreen
->
DestroyPixmap
)(
pPixmap
);
(
*
pScreen
->
DestroyPixmap
)(
pPixmap
);
nxagentShmPixmapTrap
=
0
;
return
NullPixmap
;
return
NullPixmap
;
}
}
return
pPixmap
;
}
static
PixmapPtr
fbShmCreatePixmap
(
pScreen
,
width
,
height
,
depth
,
addr
)
ScreenPtr
pScreen
;
int
width
;
int
height
;
int
depth
;
char
*
addr
;
{
PixmapPtr
result
;
nxagentShmPixmapTrap
=
1
;
result
=
nxagent_fbShmCreatePixmap
(
pScreen
,
width
,
height
,
depth
,
addr
);
nxagentShmPixmapTrap
=
0
;
nxagentShmPixmapTrap
=
0
;
return
pPixmap
;
return
result
;
}
}
static
int
static
int
ProcShmDispatch
(
client
)
nxagent_
ProcShmDispatch
(
client
)
register
ClientPtr
client
;
register
ClientPtr
client
;
{
{
REQUEST
(
xReq
);
REQUEST
(
xReq
);
#ifdef NXAGENT_SERVER
#ifdef TEST
#ifdef TEST
fprintf
(
stderr
,
"ProcShmDispatch: Going to execute operation [%d] for client [%d].
\n
"
,
fprintf
(
stderr
,
"ProcShmDispatch: Going to execute operation [%d] for client [%d].
\n
"
,
stuff
->
data
,
client
->
index
);
stuff
->
data
,
client
->
index
);
...
@@ -436,6 +503,7 @@ ProcShmDispatch (client)
...
@@ -436,6 +503,7 @@ ProcShmDispatch (client)
nxagentShmRequestLiteral
[
stuff
->
data
],
stuff
->
data
);
nxagentShmRequestLiteral
[
stuff
->
data
],
stuff
->
data
);
}
}
#endif
#endif
#endif
switch
(
stuff
->
data
)
switch
(
stuff
->
data
)
{
{
...
@@ -447,36 +515,18 @@ ProcShmDispatch (client)
...
@@ -447,36 +515,18 @@ ProcShmDispatch (client)
return
ProcShmDetach
(
client
);
return
ProcShmDetach
(
client
);
case
X_ShmPutImage
:
case
X_ShmPutImage
:
{
{
int
result
;
#ifdef NXAGENT_SERVER
#ifdef TEST
#ifdef TEST
fprintf
(
stderr
,
"ProcShmDispatch: Going to execute ProcShmPutImage() for client [%d].
\n
"
,
fprintf
(
stderr
,
"ProcShmDispatch: Going to execute ProcShmPutImage() for client [%d].
\n
"
,
client
->
index
);
client
->
index
);
#endif
#endif
#endif
nxagentShmTrap
=
1
;
#ifdef PANORAMIX
#ifdef PANORAMIX
if
(
!
noPanoramiXExtension
)
if
(
!
noPanoramiXExtension
)
{
return
ProcPanoramiXShmPutImage
(
client
);
result
=
ProcPanoramiXShmPutImage
(
client
);
nxagentShmTrap
=
0
;
return
result
;
}
#endif
#endif
return
ProcShmPutImage
(
client
);
result
=
ProcShmPutImage
(
client
);
nxagentShmTrap
=
0
;
#ifdef TEST
fprintf
(
stderr
,
"ProcShmDispatch: Returning from ProcShmPutImage() for client [%d].
\n
"
,
client
->
index
);
#endif
return
result
;
}
}
case
X_ShmGetImage
:
case
X_ShmGetImage
:
#ifdef PANORAMIX
#ifdef PANORAMIX
...
@@ -495,6 +545,23 @@ ProcShmDispatch (client)
...
@@ -495,6 +545,23 @@ ProcShmDispatch (client)
}
}
}
}
/* A wrapper that handles the trap. This construct is used
to keep the derived code closer to the original
*/
static
int
ProcShmDispatch
(
register
ClientPtr
client
)
{
int
result
;
nxagentShmTrap
=
1
;
result
=
nxagent_ProcShmDispatch
(
client
);
nxagentShmTrap
=
0
;
return
result
;
}
static
int
static
int
SProcShmDispatch
(
client
)
SProcShmDispatch
(
client
)
register
ClientPtr
client
;
register
ClientPtr
client
;
...
@@ -523,11 +590,15 @@ SProcShmDispatch (client)
...
@@ -523,11 +590,15 @@ SProcShmDispatch (client)
client
->
index
);
client
->
index
);
#endif
#endif
#ifdef NXAGENT_SERVER
nxagentShmTrap
=
1
;
nxagentShmTrap
=
1
;
#endif
result
=
SProcShmPutImage
(
client
);
result
=
SProcShmPutImage
(
client
);
#ifdef NXAGENT_SERVER
nxagentShmTrap
=
0
;
nxagentShmTrap
=
0
;
#endif
#ifdef TEST
#ifdef TEST
fprintf
(
stderr
,
"SProcShmDispatch: Returning from SProcShmPutImage() for client [%d].
\n
"
,
fprintf
(
stderr
,
"SProcShmDispatch: Returning from SProcShmPutImage() for client [%d].
\n
"
,
...
...
nx-X11/programs/Xserver/hw/nxagent/NXxvdisp.c
View file @
49607e93
...
@@ -64,194 +64,195 @@ SOFTWARE.
...
@@ -64,194 +64,195 @@ SOFTWARE.
*/
*/
int
int
ProcXvDispatch
(
ClientPtr
client
)
nxagent_
ProcXvDispatch
(
ClientPtr
client
)
{
{
int
result
;
REQUEST
(
xReq
);
REQUEST
(
xReq
);
UpdateCurrentTime
();
UpdateCurrentTime
();
/*
* Report upstream that we are
* dispatching a XVideo operation.
*/
nxagentXvTrap
=
1
;
#ifdef TEST
fprintf
(
stderr
,
"ProcXvDispatch: Going to dispatch XVideo operation [%d] for client [%d].
\n
"
,
stuff
->
data
,
client
->
index
);
#endif
switch
(
stuff
->
data
)
switch
(
stuff
->
data
)
{
{
case
xv_QueryExtension
:
re
sult
=
(
ProcXvQueryExtension
(
client
));
break
;
case
xv_QueryExtension
:
re
turn
(
ProcXvQueryExtension
(
client
))
;
case
xv_QueryAdaptors
:
re
sult
=
(
ProcXvQueryAdaptors
(
client
));
break
;
case
xv_QueryAdaptors
:
re
turn
(
ProcXvQueryAdaptors
(
client
))
;
case
xv_QueryEncodings
:
re
sult
=
(
ProcXvQueryEncodings
(
client
));
break
;
case
xv_QueryEncodings
:
re
turn
(
ProcXvQueryEncodings
(
client
))
;
case
xv_PutVideo
:
case
xv_PutVideo
:
#ifdef PANORAMIX
#ifdef PANORAMIX
if
(
!
noPanoramiXExtension
)
if
(
!
noPanoramiXExtension
)
re
sult
=
(
XineramaXvPutVideo
(
client
));
re
turn
(
XineramaXvPutVideo
(
client
));
else
else
#endif
#endif
{
return
(
ProcXvPutVideo
(
client
));
result
=
(
ProcXvPutVideo
(
client
));
}
break
;
case
xv_PutStill
:
case
xv_PutStill
:
#ifdef PANORAMIX
#ifdef PANORAMIX
if
(
!
noPanoramiXExtension
)
if
(
!
noPanoramiXExtension
)
re
sult
=
(
XineramaXvPutStill
(
client
));
re
turn
(
XineramaXvPutStill
(
client
));
else
else
#endif
#endif
{
{
re
sult
=
(
ProcXvPutStill
(
client
));
re
turn
(
ProcXvPutStill
(
client
));
}
}
break
;
case
xv_GetVideo
:
return
(
ProcXvGetVideo
(
client
));
case
xv_GetVideo
:
result
=
(
ProcXvGetVideo
(
client
));
break
;
case
xv_GetStill
:
return
(
ProcXvGetStill
(
client
));
case
xv_GetStill
:
result
=
(
ProcXvGetStill
(
client
));
break
;
case
xv_GrabPort
:
return
(
ProcXvGrabPort
(
client
));
case
xv_GrabPort
:
result
=
(
ProcXvGrabPort
(
client
));
break
;
case
xv_UngrabPort
:
return
(
ProcXvUngrabPort
(
client
));
case
xv_UngrabPort
:
result
=
(
ProcXvUngrabPort
(
client
));
break
;
case
xv_SelectVideoNotify
:
return
(
ProcXvSelectVideoNotify
(
client
));
case
xv_SelectVideoNotify
:
result
=
(
ProcXvSelectVideoNotify
(
client
));
break
;
case
xv_SelectPortNotify
:
return
(
ProcXvSelectPortNotify
(
client
));
case
xv_SelectPortNotify
:
result
=
(
ProcXvSelectPortNotify
(
client
));
break
;
case
xv_StopVideo
:
case
xv_StopVideo
:
#ifdef PANORAMIX
#ifdef PANORAMIX
if
(
!
noPanoramiXExtension
)
if
(
!
noPanoramiXExtension
)
re
sult
=
(
XineramaXvStopVideo
(
client
));
re
turn
(
XineramaXvStopVideo
(
client
));
else
else
#endif
#endif
{
return
(
ProcXvStopVideo
(
client
));
result
=
(
ProcXvStopVideo
(
client
));
}
break
;
case
xv_SetPortAttribute
:
case
xv_SetPortAttribute
:
#ifdef PANORAMIX
#ifdef PANORAMIX
if
(
!
noPanoramiXExtension
)
if
(
!
noPanoramiXExtension
)
re
sult
=
(
XineramaXvSetPortAttribute
(
client
));
re
turn
(
XineramaXvSetPortAttribute
(
client
));
else
else
#endif
#endif
{
return
(
ProcXvSetPortAttribute
(
client
));
result
=
(
ProcXvSetPortAttribute
(
client
));
case
xv_GetPortAttribute
:
return
(
ProcXvGetPortAttribute
(
client
));
}
case
xv_QueryBestSize
:
return
(
ProcXvQueryBestSize
(
client
));
break
;
case
xv_QueryPortAttributes
:
return
(
ProcXvQueryPortAttributes
(
client
));
case
xv_GetPortAttribute
:
result
=
(
ProcXvGetPortAttribute
(
client
));
break
;
case
xv_QueryBestSize
:
result
=
(
ProcXvQueryBestSize
(
client
));
break
;
case
xv_QueryPortAttributes
:
result
=
(
ProcXvQueryPortAttributes
(
client
));
break
;
case
xv_PutImage
:
case
xv_PutImage
:
#ifdef PANORAMIX
#ifdef PANORAMIX
if
(
!
noPanoramiXExtension
)
if
(
!
noPanoramiXExtension
)
re
sult
=
(
XineramaXvPutImage
(
client
));
re
turn
(
XineramaXvPutImage
(
client
));
else
else
#endif
#endif
{
return
(
ProcXvPutImage
(
client
));
result
=
(
ProcXvPutImage
(
client
));
}
break
;
#ifdef MITSHM
#ifdef MITSHM
case
xv_ShmPutImage
:
case
xv_ShmPutImage
:
#ifdef PANORAMIX
#ifdef PANORAMIX
if
(
!
noPanoramiXExtension
)
if
(
!
noPanoramiXExtension
)
re
sult
=
(
XineramaXvShmPutImage
(
client
));
re
turn
(
XineramaXvShmPutImage
(
client
));
else
else
#endif
#endif
{
return
(
ProcXvShmPutImage
(
client
));
result
=
(
ProcXvShmPutImage
(
client
));
}
break
;
#endif
#endif
case
xv_QueryImageAttributes
:
re
sult
=
(
ProcXvQueryImageAttributes
(
client
));
break
;
case
xv_QueryImageAttributes
:
re
turn
(
ProcXvQueryImageAttributes
(
client
))
;
case
xv_ListImageFormats
:
re
sult
=
(
ProcXvListImageFormats
(
client
));
break
;
case
xv_ListImageFormats
:
re
turn
(
ProcXvListImageFormats
(
client
))
;
default:
default:
if
(
stuff
->
data
<
xvNumRequests
)
if
(
stuff
->
data
<
xvNumRequests
)
{
{
SendErrorToClient
(
client
,
XvReqCode
,
stuff
->
data
,
0
,
SendErrorToClient
(
client
,
XvReqCode
,
stuff
->
data
,
0
,
BadImplementation
);
BadImplementation
);
re
sult
=
(
BadImplementation
);
break
;
re
turn
(
BadImplementation
)
;
}
}
else
else
{
{
SendErrorToClient
(
client
,
XvReqCode
,
stuff
->
data
,
0
,
BadRequest
);
SendErrorToClient
(
client
,
XvReqCode
,
stuff
->
data
,
0
,
BadRequest
);
re
sult
=
(
BadRequest
);
break
;
re
turn
(
BadRequest
)
;
}
}
}
}
nxagentXvTrap
=
0
;
#ifdef TEST
fprintf
(
stderr
,
"ProcXvDispatch: Dispatched XVideo operation [%d] for client [%d].
\n
"
,
stuff
->
data
,
client
->
index
);
#endif
return
result
;
}
}
int
int
S
ProcXvDispatch
(
ClientPtr
client
)
ProcXvDispatch
(
ClientPtr
client
)
{
{
int
result
;
int
result
;
REQUEST
(
xReq
);
UpdateCurrentTime
();
/*
/*
* Report upstream that we are
* Report upstream that we are
* dispatching a XVideo operation.
* dispatching a XVideo operation.
*/
*/
#ifdef TEST
fprintf
(
stderr
,
"ProcXvDispatch: Going to dispatch XVideo operation [%d] for client [%d].
\n
"
,
stuff
->
data
,
client
->
index
);
#endif
nxagentXvTrap
=
1
;
nxagentXvTrap
=
1
;
result
=
nxagent_ProcXvDispatch
(
client
);
nxagentXvTrap
=
0
;
#ifdef TEST
#ifdef TEST
fprintf
(
stderr
,
"
SProcXvDispatch: Going to dispatch XVideo operation [%d] for client [%d].
\n
"
,
fprintf
(
stderr
,
"
ProcXvDispatch: Dispatched XVideo operation [%d] for client [%d].
\n
"
,
stuff
->
data
,
client
->
index
);
stuff
->
data
,
client
->
index
);
#endif
#endif
return
result
;
}
int
nxagent_SProcXvDispatch
(
ClientPtr
client
)
{
REQUEST
(
xReq
);
UpdateCurrentTime
();
switch
(
stuff
->
data
)
switch
(
stuff
->
data
)
{
{
case
xv_QueryExtension
:
re
sult
=
(
SProcXvQueryExtension
(
client
));
break
;
case
xv_QueryExtension
:
re
turn
(
SProcXvQueryExtension
(
client
))
;
case
xv_QueryAdaptors
:
re
sult
=
(
SProcXvQueryAdaptors
(
client
));
break
;
case
xv_QueryAdaptors
:
re
turn
(
SProcXvQueryAdaptors
(
client
))
;
case
xv_QueryEncodings
:
re
sult
=
(
SProcXvQueryEncodings
(
client
));
break
;
case
xv_QueryEncodings
:
re
turn
(
SProcXvQueryEncodings
(
client
))
;
case
xv_PutVideo
:
re
sult
=
(
SProcXvPutVideo
(
client
));
break
;
case
xv_PutVideo
:
re
turn
(
SProcXvPutVideo
(
client
))
;
case
xv_PutStill
:
re
sult
=
(
SProcXvPutStill
(
client
));
break
;
case
xv_PutStill
:
re
turn
(
SProcXvPutStill
(
client
))
;
case
xv_GetVideo
:
re
sult
=
(
SProcXvGetVideo
(
client
));
break
;
case
xv_GetVideo
:
re
turn
(
SProcXvGetVideo
(
client
))
;
case
xv_GetStill
:
re
sult
=
(
SProcXvGetStill
(
client
));
break
;
case
xv_GetStill
:
re
turn
(
SProcXvGetStill
(
client
))
;
case
xv_GrabPort
:
re
sult
=
(
SProcXvGrabPort
(
client
));
break
;
case
xv_GrabPort
:
re
turn
(
SProcXvGrabPort
(
client
))
;
case
xv_UngrabPort
:
re
sult
=
(
SProcXvUngrabPort
(
client
));
break
;
case
xv_UngrabPort
:
re
turn
(
SProcXvUngrabPort
(
client
))
;
case
xv_SelectVideoNotify
:
re
sult
=
(
SProcXvSelectVideoNotify
(
client
));
break
;
case
xv_SelectVideoNotify
:
re
turn
(
SProcXvSelectVideoNotify
(
client
))
;
case
xv_SelectPortNotify
:
re
sult
=
(
SProcXvSelectPortNotify
(
client
));
break
;
case
xv_SelectPortNotify
:
re
turn
(
SProcXvSelectPortNotify
(
client
))
;
case
xv_StopVideo
:
re
sult
=
(
SProcXvStopVideo
(
client
));
break
;
case
xv_StopVideo
:
re
turn
(
SProcXvStopVideo
(
client
))
;
case
xv_SetPortAttribute
:
re
sult
=
(
SProcXvSetPortAttribute
(
client
));
break
;
case
xv_SetPortAttribute
:
re
turn
(
SProcXvSetPortAttribute
(
client
))
;
case
xv_GetPortAttribute
:
re
sult
=
(
SProcXvGetPortAttribute
(
client
));
break
;
case
xv_GetPortAttribute
:
re
turn
(
SProcXvGetPortAttribute
(
client
))
;
case
xv_QueryBestSize
:
re
sult
=
(
SProcXvQueryBestSize
(
client
));
break
;
case
xv_QueryBestSize
:
re
turn
(
SProcXvQueryBestSize
(
client
))
;
case
xv_QueryPortAttributes
:
re
sult
=
(
SProcXvQueryPortAttributes
(
client
));
break
;
case
xv_QueryPortAttributes
:
re
turn
(
SProcXvQueryPortAttributes
(
client
))
;
case
xv_PutImage
:
re
sult
=
(
SProcXvPutImage
(
client
));
break
;
case
xv_PutImage
:
re
turn
(
SProcXvPutImage
(
client
))
;
#ifdef MITSHM
#ifdef MITSHM
case
xv_ShmPutImage
:
re
sult
=
(
SProcXvShmPutImage
(
client
));
break
;
case
xv_ShmPutImage
:
re
turn
(
SProcXvShmPutImage
(
client
))
;
#endif
#endif
case
xv_QueryImageAttributes
:
re
sult
=
(
SProcXvQueryImageAttributes
(
client
));
break
;
case
xv_QueryImageAttributes
:
re
turn
(
SProcXvQueryImageAttributes
(
client
))
;
case
xv_ListImageFormats
:
re
sult
=
(
SProcXvListImageFormats
(
client
));
break
;
case
xv_ListImageFormats
:
re
turn
(
SProcXvListImageFormats
(
client
))
;
default:
default:
if
(
stuff
->
data
<
xvNumRequests
)
if
(
stuff
->
data
<
xvNumRequests
)
{
{
SendErrorToClient
(
client
,
XvReqCode
,
stuff
->
data
,
0
,
SendErrorToClient
(
client
,
XvReqCode
,
stuff
->
data
,
0
,
BadImplementation
);
BadImplementation
);
re
sult
=
(
BadImplementation
);
break
;
re
turn
(
BadImplementation
)
;
}
}
else
else
{
{
SendErrorToClient
(
client
,
XvReqCode
,
stuff
->
data
,
0
,
BadRequest
);
SendErrorToClient
(
client
,
XvReqCode
,
stuff
->
data
,
0
,
BadRequest
);
re
sult
=
(
BadRequest
);
break
;
re
turn
(
BadRequest
)
;
}
}
}
}
}
int
SProcXvDispatch
(
ClientPtr
client
)
{
int
result
;
/*
* Report upstream that we are
* dispatching a XVideo operation.
*/
#ifdef TEST
fprintf
(
stderr
,
"SProcXvDispatch: Going to dispatch XVideo operation [%d] for client [%d].
\n
"
,
stuff
->
data
,
client
->
index
);
#endif
nxagentXvTrap
=
1
;
result
=
nxagent_SProcXvDispatch
(
client
);
nxagentXvTrap
=
0
;
nxagentXvTrap
=
0
;
#ifdef TEST
#ifdef TEST
fprintf
(
stderr
,
"
ProcXvDispatch: Dispatched XVideo operation [%d] for client [%d].
\n
"
,
fprintf
(
stderr
,
"
SProcXvDispatch: Dispatched XVideo operation [%d] for client [%d].
\n
"
,
stuff
->
data
,
client
->
index
);
stuff
->
data
,
client
->
index
);
#endif
#endif
return
result
;
return
result
;
}
}
#endif
/* !defined(__sun) && !defined(__CYGWIN__) */
#endif
/* !defined(__sun) && !defined(__CYGWIN__) */
nx-X11/programs/Xserver/include/inputstr.h
View file @
49607e93
...
@@ -147,6 +147,11 @@ typedef struct _ValuatorClassRec {
...
@@ -147,6 +147,11 @@ typedef struct _ValuatorClassRec {
AxisInfoPtr
axes
;
AxisInfoPtr
axes
;
unsigned
short
numAxes
;
unsigned
short
numAxes
;
int
*
axisVal
;
int
*
axisVal
;
/* the next two are only written by xtest and never read currently. They exist
to satisfy the compiler. Once Xi is updated, too, they will be a regular member
anyway */
int
lastx
,
lasty
;
/* last event recorded, not posted to
* client; see dix/devices.c */
CARD8
mode
;
CARD8
mode
;
}
ValuatorClassRec
,
*
ValuatorClassPtr
;
}
ValuatorClassRec
,
*
ValuatorClassPtr
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment