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
d2dae84b
Unverified
Commit
d2dae84b
authored
Nov 09, 2018
by
Mike Gabriel
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'uli42-pr/Xext-1.4.2' into 3.6.x
Attributes GH PR #735:
https://github.com/ArcticaProject/nx-libs/pull/735
parents
fccef5fc
49607e93
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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
/* $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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
/*
/*
* $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 @
d2dae84b
...
@@ -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 @
d2dae84b
/*
/*
* $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 @
d2dae84b
/*
/*
* $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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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 @
d2dae84b
...
@@ -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