Merge branch 'master' into xi2
Conflicts: Xext/geext.c Xi/chdevcur.c Xi/extgrbdev.c Xi/xiproperty.c configure.ac dix/ptrveloc.c hw/xfree86/common/xf86Config.c mi/mipointer.h test/input.c xkb/xkb.c
This commit is contained in:
commit
d7aef3f663
|
@ -354,9 +354,12 @@ PanoramiXRes *
|
||||||
PanoramiXFindIDByScrnum(RESTYPE type, XID id, int screen)
|
PanoramiXFindIDByScrnum(RESTYPE type, XID id, int screen)
|
||||||
{
|
{
|
||||||
PanoramiXSearchData data;
|
PanoramiXSearchData data;
|
||||||
|
pointer val;
|
||||||
|
|
||||||
if(!screen)
|
if(!screen) {
|
||||||
return LookupIDByType(id, type);
|
dixLookupResourceByType(&val, id, type, serverClient, DixReadAccess);
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
data.screen = screen;
|
data.screen = screen;
|
||||||
data.id = id;
|
data.id = id;
|
||||||
|
|
|
@ -97,6 +97,4 @@ typedef struct {
|
||||||
|
|
||||||
#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
|
|
||||||
|
|
||||||
#endif /* _PANORAMIX_H_ */
|
#endif /* _PANORAMIX_H_ */
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
54
Xext/saver.c
54
Xext/saver.c
|
@ -533,11 +533,14 @@ UninstallSaverColormap (ScreenPtr pScreen)
|
||||||
{
|
{
|
||||||
SetupScreen(pScreen);
|
SetupScreen(pScreen);
|
||||||
ColormapPtr pCmap;
|
ColormapPtr pCmap;
|
||||||
|
int rc;
|
||||||
|
|
||||||
if (pPriv && pPriv->installedMap != None)
|
if (pPriv && pPriv->installedMap != None)
|
||||||
{
|
{
|
||||||
pCmap = (ColormapPtr) LookupIDByType (pPriv->installedMap, RT_COLORMAP);
|
rc = dixLookupResourceByType((pointer *)&pCmap, pPriv->installedMap,
|
||||||
if (pCmap)
|
RT_COLORMAP, serverClient,
|
||||||
|
DixUninstallAccess);
|
||||||
|
if (rc == Success)
|
||||||
(*pCmap->pScreen->UninstallColormap) (pCmap);
|
(*pCmap->pScreen->UninstallColormap) (pCmap);
|
||||||
pPriv->installedMap = None;
|
pPriv->installedMap = None;
|
||||||
CheckScreenPrivate (pScreen);
|
CheckScreenPrivate (pScreen);
|
||||||
|
@ -651,8 +654,9 @@ CreateSaverWindow (ScreenPtr pScreen)
|
||||||
if (i < numInstalled)
|
if (i < numInstalled)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
pCmap = (ColormapPtr) LookupIDByType (wantMap, RT_COLORMAP);
|
result = dixLookupResourceByType((pointer *)&pCmap, wantMap, RT_COLORMAP,
|
||||||
if (!pCmap)
|
serverClient, DixInstallAccess);
|
||||||
|
if (result != Success)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
pPriv->installedMap = wantMap;
|
pPriv->installedMap = wantMap;
|
||||||
|
@ -1252,15 +1256,16 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
||||||
PanoramiXRes *backPix = NULL;
|
PanoramiXRes *backPix = NULL;
|
||||||
PanoramiXRes *bordPix = NULL;
|
PanoramiXRes *bordPix = NULL;
|
||||||
PanoramiXRes *cmap = NULL;
|
PanoramiXRes *cmap = NULL;
|
||||||
int i, status = 0, len;
|
int i, status, len;
|
||||||
int pback_offset = 0, pbord_offset = 0, cmap_offset = 0;
|
int pback_offset = 0, pbord_offset = 0, cmap_offset = 0;
|
||||||
XID orig_visual, tmp;
|
XID orig_visual, tmp;
|
||||||
|
|
||||||
REQUEST_AT_LEAST_SIZE (xScreenSaverSetAttributesReq);
|
REQUEST_AT_LEAST_SIZE (xScreenSaverSetAttributesReq);
|
||||||
|
|
||||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
status = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
XRC_DRAWABLE, client, DixWriteAccess);
|
||||||
return BadDrawable;
|
if (status != Success)
|
||||||
|
return (status == BadValue) ? BadDrawable : status;
|
||||||
|
|
||||||
len = stuff->length - (sizeof(xScreenSaverSetAttributesReq) >> 2);
|
len = stuff->length - (sizeof(xScreenSaverSetAttributesReq) >> 2);
|
||||||
if (Ones(stuff->mask) != len)
|
if (Ones(stuff->mask) != len)
|
||||||
|
@ -1270,9 +1275,11 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
||||||
pback_offset = Ones((Mask)stuff->mask & (CWBackPixmap - 1));
|
pback_offset = Ones((Mask)stuff->mask & (CWBackPixmap - 1));
|
||||||
tmp = *((CARD32 *) &stuff[1] + pback_offset);
|
tmp = *((CARD32 *) &stuff[1] + pback_offset);
|
||||||
if ((tmp != None) && (tmp != ParentRelative)) {
|
if ((tmp != None) && (tmp != ParentRelative)) {
|
||||||
if(!(backPix = (PanoramiXRes*) SecurityLookupIDByType(
|
status = dixLookupResourceByType((pointer *)&backPix, tmp,
|
||||||
client, tmp, XRT_PIXMAP, DixReadAccess)))
|
XRT_PIXMAP, client,
|
||||||
return BadPixmap;
|
DixReadAccess);
|
||||||
|
if (status != Success)
|
||||||
|
return (status == BadValue) ? BadPixmap : status;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1280,9 +1287,11 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
||||||
pbord_offset = Ones((Mask)stuff->mask & (CWBorderPixmap - 1));
|
pbord_offset = Ones((Mask)stuff->mask & (CWBorderPixmap - 1));
|
||||||
tmp = *((CARD32 *) &stuff[1] + pbord_offset);
|
tmp = *((CARD32 *) &stuff[1] + pbord_offset);
|
||||||
if (tmp != CopyFromParent) {
|
if (tmp != CopyFromParent) {
|
||||||
if(!(bordPix = (PanoramiXRes*) SecurityLookupIDByType(
|
status = dixLookupResourceByType((pointer *)&bordPix, tmp,
|
||||||
client, tmp, XRT_PIXMAP, DixReadAccess)))
|
XRT_PIXMAP, client,
|
||||||
return BadPixmap;
|
DixReadAccess);
|
||||||
|
if (status != Success)
|
||||||
|
return (status == BadValue) ? BadPixmap : status;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1290,9 +1299,11 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
||||||
cmap_offset = Ones((Mask)stuff->mask & (CWColormap - 1));
|
cmap_offset = Ones((Mask)stuff->mask & (CWColormap - 1));
|
||||||
tmp = *((CARD32 *) &stuff[1] + cmap_offset);
|
tmp = *((CARD32 *) &stuff[1] + cmap_offset);
|
||||||
if ((tmp != CopyFromParent) && (tmp != None)) {
|
if ((tmp != CopyFromParent) && (tmp != None)) {
|
||||||
if(!(cmap = (PanoramiXRes*) SecurityLookupIDByType(
|
status = dixLookupResourceByType((pointer *)&cmap, tmp,
|
||||||
client, tmp, XRT_COLORMAP, DixReadAccess)))
|
XRT_COLORMAP, client,
|
||||||
return BadColor;
|
DixReadAccess);
|
||||||
|
if (status != Success)
|
||||||
|
return (status == BadValue) ? BadColor : status;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1327,11 +1338,12 @@ ProcScreenSaverUnsetAttributes (ClientPtr client)
|
||||||
if(!noPanoramiXExtension) {
|
if(!noPanoramiXExtension) {
|
||||||
REQUEST(xScreenSaverUnsetAttributesReq);
|
REQUEST(xScreenSaverUnsetAttributesReq);
|
||||||
PanoramiXRes *draw;
|
PanoramiXRes *draw;
|
||||||
int i;
|
int rc, i;
|
||||||
|
|
||||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
rc = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
XRC_DRAWABLE, client, DixWriteAccess);
|
||||||
return BadDrawable;
|
if (rc != Success)
|
||||||
|
return (rc == BadValue) ? BadDrawable : rc;
|
||||||
|
|
||||||
for(i = PanoramiXNumScreens - 1; i > 0; i--) {
|
for(i = PanoramiXNumScreens - 1; i > 0; i--) {
|
||||||
stuff->drawable = draw->info[i].id;
|
stuff->drawable = draw->info[i].id;
|
||||||
|
|
|
@ -623,13 +623,16 @@ ProcSecurityRevokeAuthorization(
|
||||||
{
|
{
|
||||||
REQUEST(xSecurityRevokeAuthorizationReq);
|
REQUEST(xSecurityRevokeAuthorizationReq);
|
||||||
SecurityAuthorizationPtr pAuth;
|
SecurityAuthorizationPtr pAuth;
|
||||||
|
int rc;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xSecurityRevokeAuthorizationReq);
|
REQUEST_SIZE_MATCH(xSecurityRevokeAuthorizationReq);
|
||||||
|
|
||||||
pAuth = (SecurityAuthorizationPtr)SecurityLookupIDByType(client,
|
rc = dixLookupResourceByType((pointer *)&pAuth, stuff->authId,
|
||||||
stuff->authId, SecurityAuthorizationResType, DixDestroyAccess);
|
SecurityAuthorizationResType, client,
|
||||||
if (!pAuth)
|
DixDestroyAccess);
|
||||||
return SecurityErrorBase + XSecurityBadAuthorization;
|
if (rc != Success)
|
||||||
|
return (rc == BadValue) ?
|
||||||
|
SecurityErrorBase + XSecurityBadAuthorization : rc;
|
||||||
|
|
||||||
FreeResource(stuff->authId, RT_NONE);
|
FreeResource(stuff->authId, RT_NONE);
|
||||||
return Success;
|
return Success;
|
||||||
|
|
75
Xext/shape.c
75
Xext/shape.c
|
@ -353,13 +353,14 @@ ProcPanoramiXShapeRectangles(
|
||||||
{
|
{
|
||||||
REQUEST(xShapeRectanglesReq);
|
REQUEST(xShapeRectanglesReq);
|
||||||
PanoramiXRes *win;
|
PanoramiXRes *win;
|
||||||
int j, result = 0;
|
int j, result;
|
||||||
|
|
||||||
REQUEST_AT_LEAST_SIZE (xShapeRectanglesReq);
|
REQUEST_AT_LEAST_SIZE (xShapeRectanglesReq);
|
||||||
|
|
||||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&win, stuff->dest, XRT_WINDOW,
|
||||||
client, stuff->dest, XRT_WINDOW, DixWriteAccess)))
|
client, DixWriteAccess);
|
||||||
return BadWindow;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadWindow : result;
|
||||||
|
|
||||||
FOR_NSCREENS(j) {
|
FOR_NSCREENS(j) {
|
||||||
stuff->dest = win->info[j].id;
|
stuff->dest = win->info[j].id;
|
||||||
|
@ -451,18 +452,20 @@ ProcPanoramiXShapeMask(
|
||||||
{
|
{
|
||||||
REQUEST(xShapeMaskReq);
|
REQUEST(xShapeMaskReq);
|
||||||
PanoramiXRes *win, *pmap;
|
PanoramiXRes *win, *pmap;
|
||||||
int j, result = 0;
|
int j, result;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH (xShapeMaskReq);
|
REQUEST_SIZE_MATCH (xShapeMaskReq);
|
||||||
|
|
||||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&win, stuff->dest, XRT_WINDOW,
|
||||||
client, stuff->dest, XRT_WINDOW, DixWriteAccess)))
|
client, DixWriteAccess);
|
||||||
return BadWindow;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadWindow : result;
|
||||||
|
|
||||||
if(stuff->src != None) {
|
if(stuff->src != None) {
|
||||||
if(!(pmap = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&pmap, stuff->src,
|
||||||
client, stuff->src, XRT_PIXMAP, DixReadAccess)))
|
XRT_PIXMAP, client, DixReadAccess);
|
||||||
return BadPixmap;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadPixmap : result;
|
||||||
} else
|
} else
|
||||||
pmap = NULL;
|
pmap = NULL;
|
||||||
|
|
||||||
|
@ -579,17 +582,19 @@ ProcPanoramiXShapeCombine(
|
||||||
{
|
{
|
||||||
REQUEST(xShapeCombineReq);
|
REQUEST(xShapeCombineReq);
|
||||||
PanoramiXRes *win, *win2;
|
PanoramiXRes *win, *win2;
|
||||||
int j, result = 0;
|
int j, result;
|
||||||
|
|
||||||
REQUEST_AT_LEAST_SIZE (xShapeCombineReq);
|
REQUEST_AT_LEAST_SIZE (xShapeCombineReq);
|
||||||
|
|
||||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&win, stuff->dest, XRT_WINDOW,
|
||||||
client, stuff->dest, XRT_WINDOW, DixWriteAccess)))
|
client, DixWriteAccess);
|
||||||
return BadWindow;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadWindow : result;
|
||||||
|
|
||||||
if(!(win2 = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&win2, stuff->src, XRT_WINDOW,
|
||||||
client, stuff->src, XRT_WINDOW, DixReadAccess)))
|
client, DixReadAccess);
|
||||||
return BadWindow;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadWindow : result;
|
||||||
|
|
||||||
FOR_NSCREENS(j) {
|
FOR_NSCREENS(j) {
|
||||||
stuff->dest = win->info[j].id;
|
stuff->dest = win->info[j].id;
|
||||||
|
@ -651,13 +656,14 @@ ProcPanoramiXShapeOffset(
|
||||||
{
|
{
|
||||||
REQUEST(xShapeOffsetReq);
|
REQUEST(xShapeOffsetReq);
|
||||||
PanoramiXRes *win;
|
PanoramiXRes *win;
|
||||||
int j, result = 0;
|
int j, result;
|
||||||
|
|
||||||
REQUEST_AT_LEAST_SIZE (xShapeOffsetReq);
|
REQUEST_AT_LEAST_SIZE (xShapeOffsetReq);
|
||||||
|
|
||||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&win, stuff->dest, XRT_WINDOW,
|
||||||
client, stuff->dest, XRT_WINDOW, DixWriteAccess)))
|
client, DixWriteAccess);
|
||||||
return BadWindow;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadWindow : result;
|
||||||
|
|
||||||
FOR_NSCREENS(j) {
|
FOR_NSCREENS(j) {
|
||||||
stuff->dest = win->info[j].id;
|
stuff->dest = win->info[j].id;
|
||||||
|
@ -740,11 +746,13 @@ ShapeFreeClient (pointer data, XID id)
|
||||||
ShapeEventPtr pShapeEvent;
|
ShapeEventPtr pShapeEvent;
|
||||||
WindowPtr pWin;
|
WindowPtr pWin;
|
||||||
ShapeEventPtr *pHead, pCur, pPrev;
|
ShapeEventPtr *pHead, pCur, pPrev;
|
||||||
|
int rc;
|
||||||
|
|
||||||
pShapeEvent = (ShapeEventPtr) data;
|
pShapeEvent = (ShapeEventPtr) data;
|
||||||
pWin = pShapeEvent->window;
|
pWin = pShapeEvent->window;
|
||||||
pHead = (ShapeEventPtr *) LookupIDByType(pWin->drawable.id, ShapeEventType);
|
rc = dixLookupResourceByType((pointer *)&pHead, pWin->drawable.id,
|
||||||
if (pHead) {
|
ShapeEventType, serverClient, DixReadAccess);
|
||||||
|
if (rc == Success) {
|
||||||
pPrev = 0;
|
pPrev = 0;
|
||||||
for (pCur = *pHead; pCur && pCur != pShapeEvent; pCur=pCur->next)
|
for (pCur = *pHead; pCur && pCur != pShapeEvent; pCur=pCur->next)
|
||||||
pPrev = pCur;
|
pPrev = pCur;
|
||||||
|
@ -789,8 +797,11 @@ ProcShapeSelectInput (ClientPtr client)
|
||||||
rc = dixLookupWindow(&pWin, stuff->window, client, DixReceiveAccess);
|
rc = dixLookupWindow(&pWin, stuff->window, client, DixReceiveAccess);
|
||||||
if (rc != Success)
|
if (rc != Success)
|
||||||
return rc;
|
return rc;
|
||||||
pHead = (ShapeEventPtr *)SecurityLookupIDByType(client,
|
rc = dixLookupResourceByType((pointer *)&pHead, pWin->drawable.id,
|
||||||
pWin->drawable.id, ShapeEventType, DixWriteAccess);
|
ShapeEventType, client, DixWriteAccess);
|
||||||
|
if (rc != Success && rc != BadValue)
|
||||||
|
return rc;
|
||||||
|
|
||||||
switch (stuff->enable) {
|
switch (stuff->enable) {
|
||||||
case xTrue:
|
case xTrue:
|
||||||
if (pHead) {
|
if (pHead) {
|
||||||
|
@ -879,9 +890,11 @@ SendShapeNotify (WindowPtr pWin, int which)
|
||||||
BoxRec extents;
|
BoxRec extents;
|
||||||
RegionPtr region;
|
RegionPtr region;
|
||||||
BYTE shaped;
|
BYTE shaped;
|
||||||
|
int rc;
|
||||||
|
|
||||||
pHead = (ShapeEventPtr *) LookupIDByType(pWin->drawable.id, ShapeEventType);
|
rc = dixLookupResourceByType((pointer *)&pHead, pWin->drawable.id,
|
||||||
if (!pHead)
|
ShapeEventType, serverClient, DixReadAccess);
|
||||||
|
if (rc != Success)
|
||||||
return;
|
return;
|
||||||
switch (which) {
|
switch (which) {
|
||||||
case ShapeBounding:
|
case ShapeBounding:
|
||||||
|
@ -958,8 +971,10 @@ ProcShapeInputSelected (ClientPtr client)
|
||||||
rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
|
rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
|
||||||
if (rc != Success)
|
if (rc != Success)
|
||||||
return rc;
|
return rc;
|
||||||
pHead = (ShapeEventPtr *) SecurityLookupIDByType(client,
|
rc = dixLookupResourceByType((pointer *)&pHead, pWin->drawable.id,
|
||||||
pWin->drawable.id, ShapeEventType, DixReadAccess);
|
ShapeEventType, client, DixReadAccess);
|
||||||
|
if (rc != Success && rc != BadValue)
|
||||||
|
return rc;
|
||||||
enabled = xFalse;
|
enabled = xFalse;
|
||||||
if (pHead) {
|
if (pHead) {
|
||||||
for (pShapeEvent = *pHead;
|
for (pShapeEvent = *pHead;
|
||||||
|
|
34
Xext/shm.c
34
Xext/shm.c
|
@ -144,12 +144,11 @@ static ShmFuncs fbFuncs = {fbShmCreatePixmap, NULL};
|
||||||
|
|
||||||
#define VERIFY_SHMSEG(shmseg,shmdesc,client) \
|
#define VERIFY_SHMSEG(shmseg,shmdesc,client) \
|
||||||
{ \
|
{ \
|
||||||
shmdesc = (ShmDescPtr)LookupIDByType(shmseg, ShmSegType); \
|
int rc; \
|
||||||
if (!shmdesc) \
|
rc = dixLookupResourceByType((pointer *)&(shmdesc), shmseg, ShmSegType, \
|
||||||
{ \
|
client, DixReadAccess); \
|
||||||
client->errorValue = shmseg; \
|
if (rc != Success) \
|
||||||
return BadShmSegCode; \
|
return (rc == BadValue) ? BadShmSegCode : rc; \
|
||||||
} \
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define VERIFY_SHMPTR(shmseg,offset,needwrite,shmdesc,client) \
|
#define VERIFY_SHMPTR(shmseg,offset,needwrite,shmdesc,client) \
|
||||||
|
@ -513,20 +512,22 @@ doShmPutImage(DrawablePtr dst, GCPtr pGC,
|
||||||
static int
|
static int
|
||||||
ProcPanoramiXShmPutImage(ClientPtr client)
|
ProcPanoramiXShmPutImage(ClientPtr client)
|
||||||
{
|
{
|
||||||
int j, result = 0, orig_x, orig_y;
|
int j, result, orig_x, orig_y;
|
||||||
PanoramiXRes *draw, *gc;
|
PanoramiXRes *draw, *gc;
|
||||||
Bool sendEvent, isRoot;
|
Bool sendEvent, isRoot;
|
||||||
|
|
||||||
REQUEST(xShmPutImageReq);
|
REQUEST(xShmPutImageReq);
|
||||||
REQUEST_SIZE_MATCH(xShmPutImageReq);
|
REQUEST_SIZE_MATCH(xShmPutImageReq);
|
||||||
|
|
||||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
XRC_DRAWABLE, client, DixWriteAccess);
|
||||||
return BadDrawable;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadDrawable : result;
|
||||||
|
|
||||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&gc, stuff->gc,
|
||||||
client, stuff->gc, XRT_GC, DixReadAccess)))
|
XRT_GC, client, DixReadAccess);
|
||||||
return BadGC;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadGC : result;
|
||||||
|
|
||||||
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
||||||
|
|
||||||
|
@ -570,9 +571,10 @@ ProcPanoramiXShmGetImage(ClientPtr client)
|
||||||
return(BadValue);
|
return(BadValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
rc = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
XRC_DRAWABLE, client, DixWriteAccess);
|
||||||
return BadDrawable;
|
if (rc != Success)
|
||||||
|
return (rc == BadValue) ? BadDrawable : rc;
|
||||||
|
|
||||||
if (draw->type == XRT_PIXMAP)
|
if (draw->type == XRT_PIXMAP)
|
||||||
return ProcShmGetImage(client);
|
return ProcShmGetImage(client);
|
||||||
|
|
82
Xext/sync.c
82
Xext/sync.c
|
@ -1339,16 +1339,14 @@ ProcSyncSetCounter(ClientPtr client)
|
||||||
REQUEST(xSyncSetCounterReq);
|
REQUEST(xSyncSetCounterReq);
|
||||||
SyncCounter *pCounter;
|
SyncCounter *pCounter;
|
||||||
CARD64 newvalue;
|
CARD64 newvalue;
|
||||||
|
int rc;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xSyncSetCounterReq);
|
REQUEST_SIZE_MATCH(xSyncSetCounterReq);
|
||||||
|
|
||||||
pCounter = SecurityLookupIDByType(client, stuff->cid, RTCounter,
|
rc = dixLookupResourceByType((pointer *)&pCounter, stuff->cid, RTCounter,
|
||||||
DixWriteAccess);
|
client, DixWriteAccess);
|
||||||
if (pCounter == NULL)
|
if (rc != Success)
|
||||||
{
|
return (rc == BadValue) ? SyncErrorBase + XSyncBadCounter : rc;
|
||||||
client->errorValue = stuff->cid;
|
|
||||||
return SyncErrorBase + XSyncBadCounter;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IsSystemCounter(pCounter))
|
if (IsSystemCounter(pCounter))
|
||||||
{
|
{
|
||||||
|
@ -1371,16 +1369,14 @@ ProcSyncChangeCounter(ClientPtr client)
|
||||||
SyncCounter *pCounter;
|
SyncCounter *pCounter;
|
||||||
CARD64 newvalue;
|
CARD64 newvalue;
|
||||||
Bool overflow;
|
Bool overflow;
|
||||||
|
int rc;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xSyncChangeCounterReq);
|
REQUEST_SIZE_MATCH(xSyncChangeCounterReq);
|
||||||
|
|
||||||
pCounter = SecurityLookupIDByType(client, stuff->cid, RTCounter,
|
rc = dixLookupResourceByType((pointer *)&pCounter, stuff->cid, RTCounter,
|
||||||
DixWriteAccess);
|
client, DixWriteAccess);
|
||||||
if (pCounter == NULL)
|
if (rc != Success)
|
||||||
{
|
return (rc == BadValue) ? SyncErrorBase + XSyncBadCounter : rc;
|
||||||
client->errorValue = stuff->cid;
|
|
||||||
return SyncErrorBase + XSyncBadCounter;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IsSystemCounter(pCounter))
|
if (IsSystemCounter(pCounter))
|
||||||
{
|
{
|
||||||
|
@ -1408,16 +1404,15 @@ ProcSyncDestroyCounter(ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST(xSyncDestroyCounterReq);
|
REQUEST(xSyncDestroyCounterReq);
|
||||||
SyncCounter *pCounter;
|
SyncCounter *pCounter;
|
||||||
|
int rc;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xSyncDestroyCounterReq);
|
REQUEST_SIZE_MATCH(xSyncDestroyCounterReq);
|
||||||
|
|
||||||
pCounter = SecurityLookupIDByType(client, stuff->counter, RTCounter,
|
rc = dixLookupResourceByType((pointer *)&pCounter, stuff->counter, RTCounter,
|
||||||
DixDestroyAccess);
|
client, DixDestroyAccess);
|
||||||
if (pCounter == NULL)
|
if (rc != Success)
|
||||||
{
|
return (rc == BadValue) ? SyncErrorBase + XSyncBadCounter : rc;
|
||||||
client->errorValue = stuff->counter;
|
|
||||||
return SyncErrorBase + XSyncBadCounter;
|
|
||||||
}
|
|
||||||
if (IsSystemCounter(pCounter))
|
if (IsSystemCounter(pCounter))
|
||||||
{
|
{
|
||||||
client->errorValue = stuff->counter;
|
client->errorValue = stuff->counter;
|
||||||
|
@ -1552,16 +1547,14 @@ ProcSyncQueryCounter(ClientPtr client)
|
||||||
REQUEST(xSyncQueryCounterReq);
|
REQUEST(xSyncQueryCounterReq);
|
||||||
xSyncQueryCounterReply rep;
|
xSyncQueryCounterReply rep;
|
||||||
SyncCounter *pCounter;
|
SyncCounter *pCounter;
|
||||||
|
int rc;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xSyncQueryCounterReq);
|
REQUEST_SIZE_MATCH(xSyncQueryCounterReq);
|
||||||
|
|
||||||
pCounter = SecurityLookupIDByType(client, stuff->counter, RTCounter,
|
rc = dixLookupResourceByType((pointer *)&pCounter, stuff->counter,
|
||||||
DixReadAccess);
|
RTCounter, client, DixReadAccess);
|
||||||
if (pCounter == NULL)
|
if (rc != Success)
|
||||||
{
|
return (rc == BadValue) ? SyncErrorBase + XSyncBadCounter : rc;
|
||||||
client->errorValue = stuff->counter;
|
|
||||||
return SyncErrorBase + XSyncBadCounter;
|
|
||||||
}
|
|
||||||
|
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.length = 0;
|
rep.length = 0;
|
||||||
|
@ -1682,12 +1675,10 @@ ProcSyncChangeAlarm(ClientPtr client)
|
||||||
|
|
||||||
REQUEST_AT_LEAST_SIZE(xSyncChangeAlarmReq);
|
REQUEST_AT_LEAST_SIZE(xSyncChangeAlarmReq);
|
||||||
|
|
||||||
if (!(pAlarm = SecurityLookupIDByType(client, stuff->alarm, RTAlarm,
|
status = dixLookupResourceByType((pointer *)&pAlarm, stuff->alarm, RTAlarm,
|
||||||
DixWriteAccess)))
|
client, DixWriteAccess);
|
||||||
{
|
if (status != Success)
|
||||||
client->errorValue = stuff->alarm;
|
return (status == BadValue) ? SyncErrorBase + XSyncBadAlarm : status;
|
||||||
return SyncErrorBase + XSyncBadAlarm;
|
|
||||||
}
|
|
||||||
|
|
||||||
vmask = stuff->valueMask;
|
vmask = stuff->valueMask;
|
||||||
len = client->req_len - (sizeof(xSyncChangeAlarmReq) >> 2);
|
len = client->req_len - (sizeof(xSyncChangeAlarmReq) >> 2);
|
||||||
|
@ -1719,16 +1710,14 @@ ProcSyncQueryAlarm(ClientPtr client)
|
||||||
SyncAlarm *pAlarm;
|
SyncAlarm *pAlarm;
|
||||||
xSyncQueryAlarmReply rep;
|
xSyncQueryAlarmReply rep;
|
||||||
SyncTrigger *pTrigger;
|
SyncTrigger *pTrigger;
|
||||||
|
int rc;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xSyncQueryAlarmReq);
|
REQUEST_SIZE_MATCH(xSyncQueryAlarmReq);
|
||||||
|
|
||||||
pAlarm = SecurityLookupIDByType(client, stuff->alarm, RTAlarm,
|
rc = dixLookupResourceByType((pointer *)&pAlarm, stuff->alarm, RTAlarm,
|
||||||
DixReadAccess);
|
client, DixReadAccess);
|
||||||
if (!pAlarm)
|
if (rc != Success)
|
||||||
{
|
return (rc == BadValue) ? SyncErrorBase + XSyncBadAlarm : rc;
|
||||||
client->errorValue = stuff->alarm;
|
|
||||||
return SyncErrorBase + XSyncBadAlarm;
|
|
||||||
}
|
|
||||||
|
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.length = (sizeof(xSyncQueryAlarmReply) - sizeof(xGenericReply)) >> 2;
|
rep.length = (sizeof(xSyncQueryAlarmReply) - sizeof(xGenericReply)) >> 2;
|
||||||
|
@ -1776,16 +1765,15 @@ ProcSyncQueryAlarm(ClientPtr client)
|
||||||
static int
|
static int
|
||||||
ProcSyncDestroyAlarm(ClientPtr client)
|
ProcSyncDestroyAlarm(ClientPtr client)
|
||||||
{
|
{
|
||||||
|
SyncAlarm *pAlarm;
|
||||||
|
int rc;
|
||||||
REQUEST(xSyncDestroyAlarmReq);
|
REQUEST(xSyncDestroyAlarmReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xSyncDestroyAlarmReq);
|
REQUEST_SIZE_MATCH(xSyncDestroyAlarmReq);
|
||||||
|
|
||||||
if (!(SecurityLookupIDByType(client, stuff->alarm, RTAlarm,
|
rc = dixLookupResourceByType((pointer *)&pAlarm, stuff->alarm, RTAlarm,
|
||||||
DixDestroyAccess)))
|
client, DixDestroyAccess);
|
||||||
{
|
return (rc == BadValue) ? SyncErrorBase + XSyncBadAlarm : rc;
|
||||||
client->errorValue = stuff->alarm;
|
|
||||||
return SyncErrorBase + XSyncBadAlarm;
|
|
||||||
}
|
|
||||||
|
|
||||||
FreeResource(stuff->alarm, RT_NONE);
|
FreeResource(stuff->alarm, RT_NONE);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
|
|
|
@ -427,15 +427,15 @@ ProcXF86BigfontQueryFont(
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
client->errorValue = stuff->id; /* EITHER font or gc */
|
client->errorValue = stuff->id; /* EITHER font or gc */
|
||||||
pFont = (FontPtr)SecurityLookupIDByType(client, stuff->id, RT_FONT,
|
dixLookupResourceByType((pointer *)&pFont, stuff->id, RT_FONT,
|
||||||
DixGetAttrAccess);
|
client, DixGetAttrAccess);
|
||||||
if (!pFont) {
|
if (!pFont) {
|
||||||
GC *pGC = (GC *) SecurityLookupIDByType(client, stuff->id, RT_GC,
|
GC *pGC;
|
||||||
DixGetAttrAccess);
|
dixLookupResourceByType((pointer *)&pGC, stuff->id, RT_GC,
|
||||||
if (!pGC) {
|
client, DixGetAttrAccess);
|
||||||
client->errorValue = stuff->id;
|
if (!pGC)
|
||||||
return BadFont; /* procotol spec says only error is BadFont */
|
return BadFont; /* procotol spec says only error is BadFont */
|
||||||
}
|
|
||||||
pFont = pGC->font;
|
pFont = pGC->font;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1346,15 +1346,6 @@ ProcSELinuxSetCreateContext(ClientPtr client, unsigned offset)
|
||||||
goto out;
|
goto out;
|
||||||
privPtr = &serverClient->devPrivates;
|
privPtr = &serverClient->devPrivates;
|
||||||
}
|
}
|
||||||
else if (offset == USE_SEL) {
|
|
||||||
/* Selection use context currently requires no selections owned */
|
|
||||||
Selection *pSel;
|
|
||||||
for (pSel = CurrentSelections; pSel; pSel = pSel->next)
|
|
||||||
if (pSel->client == client) {
|
|
||||||
rc = BadMatch;
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ptr = dixLookupPrivate(privPtr, subjectKey);
|
ptr = dixLookupPrivate(privPtr, subjectKey);
|
||||||
pSid = (security_id_t *)(ptr + offset);
|
pSid = (security_id_t *)(ptr + offset);
|
||||||
|
|
234
Xext/xvdisp.c
234
Xext/xvdisp.c
|
@ -479,11 +479,7 @@ ProcXvQueryEncodings(ClientPtr client)
|
||||||
REQUEST(xvQueryEncodingsReq);
|
REQUEST(xvQueryEncodingsReq);
|
||||||
REQUEST_SIZE_MATCH(xvQueryEncodingsReq);
|
REQUEST_SIZE_MATCH(xvQueryEncodingsReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -540,12 +536,7 @@ ProcXvPutVideo(ClientPtr client)
|
||||||
REQUEST_SIZE_MATCH(xvPutVideoReq);
|
REQUEST_SIZE_MATCH(xvPutVideoReq);
|
||||||
|
|
||||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
||||||
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -583,12 +574,7 @@ ProcXvPutStill(ClientPtr client)
|
||||||
REQUEST_SIZE_MATCH(xvPutStillReq);
|
REQUEST_SIZE_MATCH(xvPutStillReq);
|
||||||
|
|
||||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
||||||
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -626,12 +612,7 @@ ProcXvGetVideo(ClientPtr client)
|
||||||
REQUEST_SIZE_MATCH(xvGetVideoReq);
|
REQUEST_SIZE_MATCH(xvGetVideoReq);
|
||||||
|
|
||||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixReadAccess);
|
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixReadAccess);
|
||||||
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -669,12 +650,7 @@ ProcXvGetStill(ClientPtr client)
|
||||||
REQUEST_SIZE_MATCH(xvGetStillReq);
|
REQUEST_SIZE_MATCH(xvGetStillReq);
|
||||||
|
|
||||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixReadAccess);
|
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixReadAccess);
|
||||||
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -723,11 +699,7 @@ ProcXvSelectPortNotify(ClientPtr client)
|
||||||
REQUEST(xvSelectPortNotifyReq);
|
REQUEST(xvSelectPortNotifyReq);
|
||||||
REQUEST_SIZE_MATCH(xvSelectPortNotifyReq);
|
REQUEST_SIZE_MATCH(xvSelectPortNotifyReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -747,11 +719,7 @@ ProcXvGrabPort(ClientPtr client)
|
||||||
REQUEST(xvGrabPortReq);
|
REQUEST(xvGrabPortReq);
|
||||||
REQUEST_SIZE_MATCH(xvGrabPortReq);
|
REQUEST_SIZE_MATCH(xvGrabPortReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -784,11 +752,7 @@ ProcXvUngrabPort(ClientPtr client)
|
||||||
REQUEST(xvGrabPortReq);
|
REQUEST(xvGrabPortReq);
|
||||||
REQUEST_SIZE_MATCH(xvGrabPortReq);
|
REQUEST_SIZE_MATCH(xvGrabPortReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -808,11 +772,7 @@ ProcXvStopVideo(ClientPtr client)
|
||||||
REQUEST(xvStopVideoReq);
|
REQUEST(xvStopVideoReq);
|
||||||
REQUEST_SIZE_MATCH(xvStopVideoReq);
|
REQUEST_SIZE_MATCH(xvStopVideoReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -835,11 +795,7 @@ ProcXvSetPortAttribute(ClientPtr client)
|
||||||
REQUEST(xvSetPortAttributeReq);
|
REQUEST(xvSetPortAttributeReq);
|
||||||
REQUEST_SIZE_MATCH(xvSetPortAttributeReq);
|
REQUEST_SIZE_MATCH(xvSetPortAttributeReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
VALIDATE_XV_PORT(stuff->port, pPort, DixSetAttrAccess);
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -873,11 +829,7 @@ ProcXvGetPortAttribute(ClientPtr client)
|
||||||
REQUEST(xvGetPortAttributeReq);
|
REQUEST(xvGetPortAttributeReq);
|
||||||
REQUEST_SIZE_MATCH(xvGetPortAttributeReq);
|
REQUEST_SIZE_MATCH(xvGetPortAttributeReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
VALIDATE_XV_PORT(stuff->port, pPort, DixGetAttrAccess);
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -918,11 +870,7 @@ ProcXvQueryBestSize(ClientPtr client)
|
||||||
REQUEST(xvQueryBestSizeReq);
|
REQUEST(xvQueryBestSizeReq);
|
||||||
REQUEST_SIZE_MATCH(xvQueryBestSizeReq);
|
REQUEST_SIZE_MATCH(xvQueryBestSizeReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -959,11 +907,7 @@ ProcXvQueryPortAttributes(ClientPtr client)
|
||||||
REQUEST(xvQueryPortAttributesReq);
|
REQUEST(xvQueryPortAttributesReq);
|
||||||
REQUEST_SIZE_MATCH(xvQueryPortAttributesReq);
|
REQUEST_SIZE_MATCH(xvQueryPortAttributesReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
VALIDATE_XV_PORT(stuff->port, pPort, DixGetAttrAccess);
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -1019,12 +963,7 @@ ProcXvPutImage(ClientPtr client)
|
||||||
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
|
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
|
||||||
|
|
||||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
||||||
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -1105,12 +1044,7 @@ ProcXvShmPutImage(ClientPtr client)
|
||||||
REQUEST_SIZE_MATCH(xvShmPutImageReq);
|
REQUEST_SIZE_MATCH(xvShmPutImageReq);
|
||||||
|
|
||||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
||||||
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||||
{
|
{
|
||||||
|
@ -1141,11 +1075,10 @@ ProcXvShmPutImage(ClientPtr client)
|
||||||
if(!pImage)
|
if(!pImage)
|
||||||
return BadMatch;
|
return BadMatch;
|
||||||
|
|
||||||
if(!(shmdesc = (ShmDescPtr)LookupIDByType(stuff->shmseg, ShmSegType)))
|
status = dixLookupResourceByType((pointer *)&shmdesc, stuff->shmseg,
|
||||||
{
|
ShmSegType, serverClient, DixReadAccess);
|
||||||
client->errorValue = stuff->shmseg;
|
if (status != Success)
|
||||||
return BadShmSegCode;
|
return (status == BadValue) ? BadShmSegCode : status;
|
||||||
}
|
|
||||||
|
|
||||||
width = stuff->width;
|
width = stuff->width;
|
||||||
height = stuff->height;
|
height = stuff->height;
|
||||||
|
@ -1206,11 +1139,7 @@ ProcXvQueryImageAttributes(ClientPtr client)
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xvQueryImageAttributesReq);
|
REQUEST_SIZE_MATCH(xvQueryImageAttributesReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
for(i = 0; i < pPort->pAdaptor->nImages; i++) {
|
for(i = 0; i < pPort->pAdaptor->nImages; i++) {
|
||||||
if(pPort->pAdaptor->pImages[i].id == stuff->id) {
|
if(pPort->pAdaptor->pImages[i].id == stuff->id) {
|
||||||
|
@ -1269,11 +1198,7 @@ ProcXvListImageFormats(ClientPtr client)
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xvListImageFormatsReq);
|
REQUEST_SIZE_MATCH(xvListImageFormatsReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
{
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return (_XvBadPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.sequenceNumber = client->sequence;
|
rep.sequenceNumber = client->sequence;
|
||||||
|
@ -1679,18 +1604,20 @@ SProcXvDispatch(ClientPtr client)
|
||||||
static int
|
static int
|
||||||
XineramaXvStopVideo(ClientPtr client)
|
XineramaXvStopVideo(ClientPtr client)
|
||||||
{
|
{
|
||||||
int result = Success, i;
|
int result, i;
|
||||||
PanoramiXRes *draw, *port;
|
PanoramiXRes *draw, *port;
|
||||||
REQUEST(xvStopVideoReq);
|
REQUEST(xvStopVideoReq);
|
||||||
REQUEST_SIZE_MATCH(xvStopVideoReq);
|
REQUEST_SIZE_MATCH(xvStopVideoReq);
|
||||||
|
|
||||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
XRC_DRAWABLE, client, DixWriteAccess);
|
||||||
return BadDrawable;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadDrawable : result;
|
||||||
|
|
||||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
XvXRTPort, client, DixReadAccess);
|
||||||
return _XvBadPort;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? _XvBadPort : result;
|
||||||
|
|
||||||
FOR_NSCREENS_BACKWARD(i) {
|
FOR_NSCREENS_BACKWARD(i) {
|
||||||
if(port->info[i].id) {
|
if(port->info[i].id) {
|
||||||
|
@ -1708,13 +1635,14 @@ XineramaXvSetPortAttribute(ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST(xvSetPortAttributeReq);
|
REQUEST(xvSetPortAttributeReq);
|
||||||
PanoramiXRes *port;
|
PanoramiXRes *port;
|
||||||
int result = Success, i;
|
int result, i;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xvSetPortAttributeReq);
|
REQUEST_SIZE_MATCH(xvSetPortAttributeReq);
|
||||||
|
|
||||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
XvXRTPort, client, DixReadAccess);
|
||||||
return _XvBadPort;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? _XvBadPort : result;
|
||||||
|
|
||||||
FOR_NSCREENS_BACKWARD(i) {
|
FOR_NSCREENS_BACKWARD(i) {
|
||||||
if(port->info[i].id) {
|
if(port->info[i].id) {
|
||||||
|
@ -1733,21 +1661,24 @@ XineramaXvShmPutImage(ClientPtr client)
|
||||||
PanoramiXRes *draw, *gc, *port;
|
PanoramiXRes *draw, *gc, *port;
|
||||||
Bool send_event = stuff->send_event;
|
Bool send_event = stuff->send_event;
|
||||||
Bool isRoot;
|
Bool isRoot;
|
||||||
int result = Success, i, x, y;
|
int result, i, x, y;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xvShmPutImageReq);
|
REQUEST_SIZE_MATCH(xvShmPutImageReq);
|
||||||
|
|
||||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
XRC_DRAWABLE, client, DixWriteAccess);
|
||||||
return BadDrawable;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadDrawable : result;
|
||||||
|
|
||||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&gc, stuff->gc,
|
||||||
client, stuff->gc, XRT_GC, DixReadAccess)))
|
XRT_GC, client, DixReadAccess);
|
||||||
return BadGC;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadGC : result;
|
||||||
|
|
||||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
XvXRTPort, client, DixReadAccess);
|
||||||
return _XvBadPort;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? _XvBadPort : result;
|
||||||
|
|
||||||
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
||||||
|
|
||||||
|
@ -1782,21 +1713,24 @@ XineramaXvPutImage(ClientPtr client)
|
||||||
REQUEST(xvPutImageReq);
|
REQUEST(xvPutImageReq);
|
||||||
PanoramiXRes *draw, *gc, *port;
|
PanoramiXRes *draw, *gc, *port;
|
||||||
Bool isRoot;
|
Bool isRoot;
|
||||||
int result = Success, i, x, y;
|
int result, i, x, y;
|
||||||
|
|
||||||
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
|
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
|
||||||
|
|
||||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
XRC_DRAWABLE, client, DixWriteAccess);
|
||||||
return BadDrawable;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadDrawable : result;
|
||||||
|
|
||||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&gc, stuff->gc,
|
||||||
client, stuff->gc, XRT_GC, DixReadAccess)))
|
XRT_GC, client, DixReadAccess);
|
||||||
return BadGC;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadGC : result;
|
||||||
|
|
||||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
XvXRTPort, client, DixReadAccess);
|
||||||
return _XvBadPort;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? _XvBadPort : result;
|
||||||
|
|
||||||
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
||||||
|
|
||||||
|
@ -1827,21 +1761,24 @@ XineramaXvPutVideo(ClientPtr client)
|
||||||
REQUEST(xvPutImageReq);
|
REQUEST(xvPutImageReq);
|
||||||
PanoramiXRes *draw, *gc, *port;
|
PanoramiXRes *draw, *gc, *port;
|
||||||
Bool isRoot;
|
Bool isRoot;
|
||||||
int result = Success, i, x, y;
|
int result, i, x, y;
|
||||||
|
|
||||||
REQUEST_AT_LEAST_SIZE(xvPutVideoReq);
|
REQUEST_AT_LEAST_SIZE(xvPutVideoReq);
|
||||||
|
|
||||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
XRC_DRAWABLE, client, DixWriteAccess);
|
||||||
return BadDrawable;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadDrawable : result;
|
||||||
|
|
||||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&gc, stuff->gc,
|
||||||
client, stuff->gc, XRT_GC, DixReadAccess)))
|
XRT_GC, client, DixReadAccess);
|
||||||
return BadGC;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadGC : result;
|
||||||
|
|
||||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
XvXRTPort, client, DixReadAccess);
|
||||||
return _XvBadPort;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? _XvBadPort : result;
|
||||||
|
|
||||||
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
||||||
|
|
||||||
|
@ -1872,21 +1809,24 @@ XineramaXvPutStill(ClientPtr client)
|
||||||
REQUEST(xvPutImageReq);
|
REQUEST(xvPutImageReq);
|
||||||
PanoramiXRes *draw, *gc, *port;
|
PanoramiXRes *draw, *gc, *port;
|
||||||
Bool isRoot;
|
Bool isRoot;
|
||||||
int result = Success, i, x, y;
|
int result, i, x, y;
|
||||||
|
|
||||||
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
|
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
|
||||||
|
|
||||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
XRC_DRAWABLE, client, DixWriteAccess);
|
||||||
return BadDrawable;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadDrawable : result;
|
||||||
|
|
||||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&gc, stuff->gc,
|
||||||
client, stuff->gc, XRT_GC, DixReadAccess)))
|
XRT_GC, client, DixReadAccess);
|
||||||
return BadGC;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? BadGC : result;
|
||||||
|
|
||||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
XvXRTPort, client, DixReadAccess);
|
||||||
return _XvBadPort;
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? _XvBadPort : result;
|
||||||
|
|
||||||
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
||||||
|
|
||||||
|
|
18
Xext/xvdix.h
18
Xext/xvdix.h
|
@ -201,17 +201,13 @@ typedef struct _XvPortRec {
|
||||||
DevUnion devPriv;
|
DevUnion devPriv;
|
||||||
} XvPortRec, *XvPortPtr;
|
} XvPortRec, *XvPortPtr;
|
||||||
|
|
||||||
#define LOOKUP_PORT(_id, client)\
|
#define VALIDATE_XV_PORT(portID, pPort, mode)\
|
||||||
((XvPortPtr)LookupIDByType(_id, XvRTPort))
|
{\
|
||||||
|
int rc = dixLookupResourceByType((pointer *)&(pPort), portID,\
|
||||||
#define LOOKUP_ENCODING(_id, client)\
|
XvRTPort, client, mode);\
|
||||||
((XvEncodingPtr)LookupIDByType(_id, XvRTEncoding))
|
if (rc != Success)\
|
||||||
|
return (rc == BadValue) ? _XvBadPort : rc;\
|
||||||
#define LOOKUP_VIDEONOTIFY_LIST(_id, client)\
|
}
|
||||||
((XvVideoNotifyPtr)LookupIDByType(_id, XvRTVideoNotifyList))
|
|
||||||
|
|
||||||
#define LOOKUP_PORTNOTIFY_LIST(_id, client)\
|
|
||||||
((XvPortNotifyPtr)LookupIDByType(_id, XvRTPortNotifyList))
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int version, revision;
|
int version, revision;
|
||||||
|
|
|
@ -523,7 +523,8 @@ XvdiSendVideoNotify(XvPortPtr pPort, DrawablePtr pDraw, int reason)
|
||||||
xvEvent event;
|
xvEvent event;
|
||||||
XvVideoNotifyPtr pn;
|
XvVideoNotifyPtr pn;
|
||||||
|
|
||||||
pn = (XvVideoNotifyPtr)LookupIDByType(pDraw->id, XvRTVideoNotifyList);
|
dixLookupResourceByType((pointer *)&pn, pDraw->id, XvRTVideoNotifyList,
|
||||||
|
serverClient, DixReadAccess);
|
||||||
|
|
||||||
while (pn)
|
while (pn)
|
||||||
{
|
{
|
||||||
|
@ -905,10 +906,14 @@ XvdiSelectVideoNotify(
|
||||||
BOOL onoff
|
BOOL onoff
|
||||||
){
|
){
|
||||||
XvVideoNotifyPtr pn,tpn,fpn;
|
XvVideoNotifyPtr pn,tpn,fpn;
|
||||||
|
int rc;
|
||||||
|
|
||||||
/* FIND VideoNotify LIST */
|
/* FIND VideoNotify LIST */
|
||||||
|
|
||||||
pn = (XvVideoNotifyPtr)LookupIDByType(pDraw->id, XvRTVideoNotifyList);
|
rc = dixLookupResourceByType((pointer *)&pn, pDraw->id, XvRTVideoNotifyList,
|
||||||
|
client, DixWriteAccess);
|
||||||
|
if (rc != Success && rc != BadValue)
|
||||||
|
return rc;
|
||||||
|
|
||||||
/* IF ONE DONES'T EXIST AND NO MASK, THEN JUST RETURN */
|
/* IF ONE DONES'T EXIST AND NO MASK, THEN JUST RETURN */
|
||||||
|
|
||||||
|
|
57
Xext/xvmc.c
57
Xext/xvmc.c
|
@ -136,10 +136,7 @@ ProcXvMCListSurfaceTypes(ClientPtr client)
|
||||||
REQUEST(xvmcListSurfaceTypesReq);
|
REQUEST(xvmcListSurfaceTypesReq);
|
||||||
REQUEST_SIZE_MATCH(xvmcListSurfaceTypesReq);
|
REQUEST_SIZE_MATCH(xvmcListSurfaceTypesReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client))) {
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return _XvBadPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(XvMCScreenKey) { /* any adaptors at all */
|
if(XvMCScreenKey) { /* any adaptors at all */
|
||||||
ScreenPtr pScreen = pPort->pAdaptor->pScreen;
|
ScreenPtr pScreen = pPort->pAdaptor->pScreen;
|
||||||
|
@ -192,10 +189,7 @@ ProcXvMCCreateContext(ClientPtr client)
|
||||||
REQUEST(xvmcCreateContextReq);
|
REQUEST(xvmcCreateContextReq);
|
||||||
REQUEST_SIZE_MATCH(xvmcCreateContextReq);
|
REQUEST_SIZE_MATCH(xvmcCreateContextReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client))) {
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return _XvBadPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
pScreen = pPort->pAdaptor->pScreen;
|
pScreen = pPort->pAdaptor->pScreen;
|
||||||
|
|
||||||
|
@ -273,11 +267,15 @@ ProcXvMCCreateContext(ClientPtr client)
|
||||||
static int
|
static int
|
||||||
ProcXvMCDestroyContext(ClientPtr client)
|
ProcXvMCDestroyContext(ClientPtr client)
|
||||||
{
|
{
|
||||||
|
pointer val;
|
||||||
|
int rc;
|
||||||
REQUEST(xvmcDestroyContextReq);
|
REQUEST(xvmcDestroyContextReq);
|
||||||
REQUEST_SIZE_MATCH(xvmcDestroyContextReq);
|
REQUEST_SIZE_MATCH(xvmcDestroyContextReq);
|
||||||
|
|
||||||
if(!LookupIDByType(stuff->context_id, XvMCRTContext))
|
rc = dixLookupResourceByType(&val, stuff->context_id, XvMCRTContext,
|
||||||
return (XvMCBadContext + XvMCErrorBase);
|
client, DixDestroyAccess);
|
||||||
|
if (rc != Success)
|
||||||
|
return (rc == BadValue) ? XvMCBadContext + XvMCErrorBase : rc;
|
||||||
|
|
||||||
FreeResource(stuff->context_id, RT_NONE);
|
FreeResource(stuff->context_id, RT_NONE);
|
||||||
|
|
||||||
|
@ -297,8 +295,10 @@ ProcXvMCCreateSurface(ClientPtr client)
|
||||||
REQUEST(xvmcCreateSurfaceReq);
|
REQUEST(xvmcCreateSurfaceReq);
|
||||||
REQUEST_SIZE_MATCH(xvmcCreateSurfaceReq);
|
REQUEST_SIZE_MATCH(xvmcCreateSurfaceReq);
|
||||||
|
|
||||||
if(!(pContext = LookupIDByType(stuff->context_id, XvMCRTContext)))
|
result = dixLookupResourceByType((pointer *)&pContext, stuff->context_id,
|
||||||
return (XvMCBadContext + XvMCErrorBase);
|
XvMCRTContext, client, DixUseAccess);
|
||||||
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? XvMCBadContext + XvMCErrorBase : result;
|
||||||
|
|
||||||
pScreenPriv = XVMC_GET_PRIVATE(pContext->pScreen);
|
pScreenPriv = XVMC_GET_PRIVATE(pContext->pScreen);
|
||||||
|
|
||||||
|
@ -337,11 +337,15 @@ ProcXvMCCreateSurface(ClientPtr client)
|
||||||
static int
|
static int
|
||||||
ProcXvMCDestroySurface(ClientPtr client)
|
ProcXvMCDestroySurface(ClientPtr client)
|
||||||
{
|
{
|
||||||
|
pointer val;
|
||||||
|
int rc;
|
||||||
REQUEST(xvmcDestroySurfaceReq);
|
REQUEST(xvmcDestroySurfaceReq);
|
||||||
REQUEST_SIZE_MATCH(xvmcDestroySurfaceReq);
|
REQUEST_SIZE_MATCH(xvmcDestroySurfaceReq);
|
||||||
|
|
||||||
if(!LookupIDByType(stuff->surface_id, XvMCRTSurface))
|
rc = dixLookupResourceByType(&val, stuff->surface_id, XvMCRTSurface,
|
||||||
return (XvMCBadSurface + XvMCErrorBase);
|
client, DixDestroyAccess);
|
||||||
|
if (rc != Success)
|
||||||
|
return (rc == BadValue) ? XvMCBadSurface + XvMCErrorBase : rc;
|
||||||
|
|
||||||
FreeResource(stuff->surface_id, RT_NONE);
|
FreeResource(stuff->surface_id, RT_NONE);
|
||||||
|
|
||||||
|
@ -363,8 +367,10 @@ ProcXvMCCreateSubpicture(ClientPtr client)
|
||||||
REQUEST(xvmcCreateSubpictureReq);
|
REQUEST(xvmcCreateSubpictureReq);
|
||||||
REQUEST_SIZE_MATCH(xvmcCreateSubpictureReq);
|
REQUEST_SIZE_MATCH(xvmcCreateSubpictureReq);
|
||||||
|
|
||||||
if(!(pContext = LookupIDByType(stuff->context_id, XvMCRTContext)))
|
result = dixLookupResourceByType((pointer *)&pContext, stuff->context_id,
|
||||||
return (XvMCBadContext + XvMCErrorBase);
|
XvMCRTContext, client, DixUseAccess);
|
||||||
|
if (result != Success)
|
||||||
|
return (result == BadValue) ? XvMCBadContext + XvMCErrorBase : result;
|
||||||
|
|
||||||
pScreenPriv = XVMC_GET_PRIVATE(pContext->pScreen);
|
pScreenPriv = XVMC_GET_PRIVATE(pContext->pScreen);
|
||||||
|
|
||||||
|
@ -448,11 +454,15 @@ ProcXvMCCreateSubpicture(ClientPtr client)
|
||||||
static int
|
static int
|
||||||
ProcXvMCDestroySubpicture(ClientPtr client)
|
ProcXvMCDestroySubpicture(ClientPtr client)
|
||||||
{
|
{
|
||||||
|
pointer val;
|
||||||
|
int rc;
|
||||||
REQUEST(xvmcDestroySubpictureReq);
|
REQUEST(xvmcDestroySubpictureReq);
|
||||||
REQUEST_SIZE_MATCH(xvmcDestroySubpictureReq);
|
REQUEST_SIZE_MATCH(xvmcDestroySubpictureReq);
|
||||||
|
|
||||||
if(!LookupIDByType(stuff->subpicture_id, XvMCRTSubpicture))
|
rc = dixLookupResourceByType(&val, stuff->subpicture_id, XvMCRTSubpicture,
|
||||||
return (XvMCBadSubpicture + XvMCErrorBase);
|
client, DixDestroyAccess);
|
||||||
|
if (rc != Success)
|
||||||
|
return (rc == BadValue) ? XvMCBadSubpicture + XvMCErrorBase : rc;
|
||||||
|
|
||||||
FreeResource(stuff->subpicture_id, RT_NONE);
|
FreeResource(stuff->subpicture_id, RT_NONE);
|
||||||
|
|
||||||
|
@ -475,10 +485,7 @@ ProcXvMCListSubpictureTypes(ClientPtr client)
|
||||||
REQUEST(xvmcListSubpictureTypesReq);
|
REQUEST(xvmcListSubpictureTypesReq);
|
||||||
REQUEST_SIZE_MATCH(xvmcListSubpictureTypesReq);
|
REQUEST_SIZE_MATCH(xvmcListSubpictureTypesReq);
|
||||||
|
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client))) {
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return _XvBadPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
pScreen = pPort->pAdaptor->pScreen;
|
pScreen = pPort->pAdaptor->pScreen;
|
||||||
|
|
||||||
|
@ -571,11 +578,7 @@ ProcXvMCGetDRInfo(ClientPtr client)
|
||||||
REQUEST(xvmcGetDRInfoReq);
|
REQUEST(xvmcGetDRInfoReq);
|
||||||
REQUEST_SIZE_MATCH(xvmcGetDRInfoReq);
|
REQUEST_SIZE_MATCH(xvmcGetDRInfoReq);
|
||||||
|
|
||||||
|
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||||
if(!(pPort = LOOKUP_PORT(stuff->port, client))) {
|
|
||||||
client->errorValue = stuff->port;
|
|
||||||
return _XvBadPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
pScreen = pPort->pAdaptor->pScreen;
|
pScreen = pPort->pAdaptor->pScreen;
|
||||||
pScreenPriv = XVMC_GET_PRIVATE(pScreen);
|
pScreenPriv = XVMC_GET_PRIVATE(pScreen);
|
||||||
|
|
|
@ -94,10 +94,10 @@ int ProcXIChangeCursor(ClientPtr client)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rc = dixLookupResourceByType((pointer*)&pCursor, stuff->cursor,
|
rc = dixLookupResourceByType((pointer *)&pCursor, stuff->cursor,
|
||||||
RT_CURSOR, client, DixReadAccess);
|
RT_CURSOR, client, DixReadAccess);
|
||||||
if (rc != Success)
|
if (rc != Success)
|
||||||
return rc;
|
return (rc == BadValue) ? BadCursor : rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
ChangeWindowDeviceCursor(pWin, pDev, pCursor);
|
ChangeWindowDeviceCursor(pWin, pDev, pCursor);
|
||||||
|
|
|
@ -2,6 +2,10 @@ noinst_LTLIBRARIES = libcomposite.la
|
||||||
|
|
||||||
AM_CFLAGS = $(DIX_CFLAGS)
|
AM_CFLAGS = $(DIX_CFLAGS)
|
||||||
|
|
||||||
|
if XORG
|
||||||
|
sdk_HEADERS = compositeext.h
|
||||||
|
endif
|
||||||
|
|
||||||
libcomposite_la_SOURCES = \
|
libcomposite_la_SOURCES = \
|
||||||
compalloc.c \
|
compalloc.c \
|
||||||
compext.c \
|
compext.c \
|
||||||
|
|
|
@ -1,23 +1,30 @@
|
||||||
/*
|
/*
|
||||||
* Copyright © 2006 Sun Microsystems
|
* Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* copy of this software and associated documentation files (the
|
||||||
* the above copyright notice appear in all copies and that both that
|
* "Software"), to deal in the Software without restriction, including
|
||||||
* copyright notice and this permission notice appear in supporting
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
* documentation, and that the name of Sun Microsystems not be used in
|
* distribute, and/or sell copies of the Software, and to permit persons
|
||||||
* advertising or publicity pertaining to distribution of the software without
|
* to whom the Software is furnished to do so, provided that the above
|
||||||
* specific, written prior permission. Sun Microsystems makes no
|
* copyright notice(s) and this permission notice appear in all copies of
|
||||||
* representations about the suitability of this software for any purpose. It
|
* the Software and that both the above copyright notice(s) and this
|
||||||
* is provided "as is" without express or implied warranty.
|
* permission notice appear in supporting documentation.
|
||||||
*
|
*
|
||||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
* OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
* HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
|
||||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
* INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
|
||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
||||||
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*
|
||||||
|
* Except as contained in this notice, the name of a copyright holder
|
||||||
|
* shall not be used in advertising or otherwise to promote the sale, use
|
||||||
|
* or other dealings in this Software without prior written authorization
|
||||||
|
* of the copyright holder.
|
||||||
*
|
*
|
||||||
* Copyright © 2003 Keith Packard
|
* Copyright © 2003 Keith Packard
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,23 +1,30 @@
|
||||||
/*
|
/*
|
||||||
* Copyright © 2006 Sun Microsystems
|
* Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* copy of this software and associated documentation files (the
|
||||||
* the above copyright notice appear in all copies and that both that
|
* "Software"), to deal in the Software without restriction, including
|
||||||
* copyright notice and this permission notice appear in supporting
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
* documentation, and that the name of Sun Microsystems not be used in
|
* distribute, and/or sell copies of the Software, and to permit persons
|
||||||
* advertising or publicity pertaining to distribution of the software without
|
* to whom the Software is furnished to do so, provided that the above
|
||||||
* specific, written prior permission. Sun Microsystems makes no
|
* copyright notice(s) and this permission notice appear in all copies of
|
||||||
* representations about the suitability of this software for any purpose. It
|
* the Software and that both the above copyright notice(s) and this
|
||||||
* is provided "as is" without express or implied warranty.
|
* permission notice appear in supporting documentation.
|
||||||
*
|
*
|
||||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
* OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
* HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
|
||||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
* INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
|
||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
||||||
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*
|
||||||
|
* Except as contained in this notice, the name of a copyright holder
|
||||||
|
* shall not be used in advertising or otherwise to promote the sale, use
|
||||||
|
* or other dealings in this Software without prior written authorization
|
||||||
|
* of the copyright holder.
|
||||||
*
|
*
|
||||||
* Copyright © 2003 Keith Packard
|
* Copyright © 2003 Keith Packard
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,23 +1,30 @@
|
||||||
/*
|
/*
|
||||||
* Copyright © 2006 Sun Microsystems
|
* Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* copy of this software and associated documentation files (the
|
||||||
* the above copyright notice appear in all copies and that both that
|
* "Software"), to deal in the Software without restriction, including
|
||||||
* copyright notice and this permission notice appear in supporting
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
* documentation, and that the name of Sun Microsystems not be used in
|
* distribute, and/or sell copies of the Software, and to permit persons
|
||||||
* advertising or publicity pertaining to distribution of the software without
|
* to whom the Software is furnished to do so, provided that the above
|
||||||
* specific, written prior permission. Sun Microsystems makes no
|
* copyright notice(s) and this permission notice appear in all copies of
|
||||||
* representations about the suitability of this software for any purpose. It
|
* the Software and that both the above copyright notice(s) and this
|
||||||
* is provided "as is" without express or implied warranty.
|
* permission notice appear in supporting documentation.
|
||||||
*
|
*
|
||||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
* OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
* HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
|
||||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
* INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
|
||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
||||||
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*
|
||||||
|
* Except as contained in this notice, the name of a copyright holder
|
||||||
|
* shall not be used in advertising or otherwise to promote the sale, use
|
||||||
|
* or other dealings in this Software without prior written authorization
|
||||||
|
* of the copyright holder.
|
||||||
*
|
*
|
||||||
* Copyright © 2003 Keith Packard
|
* Copyright © 2003 Keith Packard
|
||||||
*
|
*
|
||||||
|
@ -45,6 +52,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "compint.h"
|
#include "compint.h"
|
||||||
|
#include "compositeext.h"
|
||||||
|
|
||||||
static int CompScreenPrivateKeyIndex;
|
static int CompScreenPrivateKeyIndex;
|
||||||
DevPrivateKey CompScreenPrivateKey = &CompScreenPrivateKeyIndex;
|
DevPrivateKey CompScreenPrivateKey = &CompScreenPrivateKeyIndex;
|
||||||
|
|
|
@ -1,23 +1,30 @@
|
||||||
/*
|
/*
|
||||||
* Copyright © 2006 Sun Microsystems
|
* Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* copy of this software and associated documentation files (the
|
||||||
* the above copyright notice appear in all copies and that both that
|
* "Software"), to deal in the Software without restriction, including
|
||||||
* copyright notice and this permission notice appear in supporting
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
* documentation, and that the name of Sun Microsystems not be used in
|
* distribute, and/or sell copies of the Software, and to permit persons
|
||||||
* advertising or publicity pertaining to distribution of the software without
|
* to whom the Software is furnished to do so, provided that the above
|
||||||
* specific, written prior permission. Sun Microsystems makes no
|
* copyright notice(s) and this permission notice appear in all copies of
|
||||||
* representations about the suitability of this software for any purpose. It
|
* the Software and that both the above copyright notice(s) and this
|
||||||
* is provided "as is" without express or implied warranty.
|
* permission notice appear in supporting documentation.
|
||||||
*
|
*
|
||||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
* OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
* HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
|
||||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
* INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
|
||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
||||||
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*
|
||||||
|
* Except as contained in this notice, the name of a copyright holder
|
||||||
|
* shall not be used in advertising or otherwise to promote the sale, use
|
||||||
|
* or other dealings in this Software without prior written authorization
|
||||||
|
* of the copyright holder.
|
||||||
*
|
*
|
||||||
* Copyright © 2003 Keith Packard
|
* Copyright © 2003 Keith Packard
|
||||||
*
|
*
|
||||||
|
@ -224,10 +231,6 @@ CompositeExtensionInit (void);
|
||||||
* compinit.c
|
* compinit.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Bool
|
|
||||||
CompositeRegisterAlternateVisuals (ScreenPtr pScreen,
|
|
||||||
VisualID *vids, int nVisuals);
|
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
compScreenInit (ScreenPtr pScreen);
|
compScreenInit (ScreenPtr pScreen);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* Copyright © 2009 NVIDIA Corporation
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
* copy of this software and associated documentation files (the "Software"), to
|
||||||
|
* deal in the Software without restriction, including without limitation the
|
||||||
|
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
* sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice (including the next
|
||||||
|
* paragraph) shall be included in all copies or substantial portions of the
|
||||||
|
* Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
* SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_DIX_CONFIG_H
|
||||||
|
#include <dix-config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _COMPOSITEEXT_H_
|
||||||
|
#define _COMPOSITEEXT_H_
|
||||||
|
|
||||||
|
#include "misc.h"
|
||||||
|
#include "scrnintstr.h"
|
||||||
|
|
||||||
|
extern _X_EXPORT Bool CompositeRegisterAlternateVisuals(ScreenPtr pScreen,
|
||||||
|
VisualID *vids,
|
||||||
|
int nVisuals);
|
||||||
|
|
||||||
|
#endif /* _COMPOSITEEXT_H_ */
|
|
@ -1,23 +1,30 @@
|
||||||
/*
|
/*
|
||||||
* Copyright © 2006 Sun Microsystems
|
* Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* copy of this software and associated documentation files (the
|
||||||
* the above copyright notice appear in all copies and that both that
|
* "Software"), to deal in the Software without restriction, including
|
||||||
* copyright notice and this permission notice appear in supporting
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
* documentation, and that the name of Sun Microsystems not be used in
|
* distribute, and/or sell copies of the Software, and to permit persons
|
||||||
* advertising or publicity pertaining to distribution of the software without
|
* to whom the Software is furnished to do so, provided that the above
|
||||||
* specific, written prior permission. Sun Microsystems makes no
|
* copyright notice(s) and this permission notice appear in all copies of
|
||||||
* representations about the suitability of this software for any purpose. It
|
* the Software and that both the above copyright notice(s) and this
|
||||||
* is provided "as is" without express or implied warranty.
|
* permission notice appear in supporting documentation.
|
||||||
*
|
*
|
||||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
* OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
* HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
|
||||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
* INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
|
||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
||||||
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*
|
||||||
|
* Except as contained in this notice, the name of a copyright holder
|
||||||
|
* shall not be used in advertising or otherwise to promote the sale, use
|
||||||
|
* or other dealings in this Software without prior written authorization
|
||||||
|
* of the copyright holder.
|
||||||
*
|
*
|
||||||
* Copyright © 2003 Keith Packard
|
* Copyright © 2003 Keith Packard
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,23 +1,30 @@
|
||||||
/*
|
/*
|
||||||
* Copyright © 2006 Sun Microsystems
|
* Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* copy of this software and associated documentation files (the
|
||||||
* the above copyright notice appear in all copies and that both that
|
* "Software"), to deal in the Software without restriction, including
|
||||||
* copyright notice and this permission notice appear in supporting
|
* without limitation the rights to use, copy, modify, merge, publish,
|
||||||
* documentation, and that the name of Sun Microsystems not be used in
|
* distribute, and/or sell copies of the Software, and to permit persons
|
||||||
* advertising or publicity pertaining to distribution of the software without
|
* to whom the Software is furnished to do so, provided that the above
|
||||||
* specific, written prior permission. Sun Microsystems makes no
|
* copyright notice(s) and this permission notice appear in all copies of
|
||||||
* representations about the suitability of this software for any purpose. It
|
* the Software and that both the above copyright notice(s) and this
|
||||||
* is provided "as is" without express or implied warranty.
|
* permission notice appear in supporting documentation.
|
||||||
*
|
*
|
||||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
* OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
* HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
|
||||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
* INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
|
||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
||||||
|
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*
|
||||||
|
* Except as contained in this notice, the name of a copyright holder
|
||||||
|
* shall not be used in advertising or otherwise to promote the sale, use
|
||||||
|
* or other dealings in this Software without prior written authorization
|
||||||
|
* of the copyright holder.
|
||||||
*
|
*
|
||||||
* Copyright © 2003 Keith Packard
|
* Copyright © 2003 Keith Packard
|
||||||
*
|
*
|
||||||
|
|
|
@ -493,12 +493,14 @@ connect_and_register(DBusConnection *connection, struct config_hal_info *info)
|
||||||
}
|
}
|
||||||
if (!libhal_ctx_init(info->hal_ctx, &error)) {
|
if (!libhal_ctx_init(info->hal_ctx, &error)) {
|
||||||
LogMessage(X_ERROR, "config/hal: couldn't initialise context: %s (%s)\n",
|
LogMessage(X_ERROR, "config/hal: couldn't initialise context: %s (%s)\n",
|
||||||
error.name, error.message);
|
error.name ? error.name : "unknown error",
|
||||||
|
error.message ? error.message : "null");
|
||||||
goto out_ctx;
|
goto out_ctx;
|
||||||
}
|
}
|
||||||
if (!libhal_device_property_watch_all(info->hal_ctx, &error)) {
|
if (!libhal_device_property_watch_all(info->hal_ctx, &error)) {
|
||||||
LogMessage(X_ERROR, "config/hal: couldn't watch all properties: %s (%s)\n",
|
LogMessage(X_ERROR, "config/hal: couldn't watch all properties: %s (%s)\n",
|
||||||
error.name, error.message);
|
error.name ? error.name : "unknown error",
|
||||||
|
error.message ? error.message : "null");
|
||||||
goto out_ctx2;
|
goto out_ctx2;
|
||||||
}
|
}
|
||||||
libhal_ctx_set_device_added(info->hal_ctx, device_added);
|
libhal_ctx_set_device_added(info->hal_ctx, device_added);
|
||||||
|
@ -518,7 +520,8 @@ connect_and_register(DBusConnection *connection, struct config_hal_info *info)
|
||||||
out_ctx2:
|
out_ctx2:
|
||||||
if (!libhal_ctx_shutdown(info->hal_ctx, &error))
|
if (!libhal_ctx_shutdown(info->hal_ctx, &error))
|
||||||
LogMessage(X_WARNING, "config/hal: couldn't shut down context: %s (%s)\n",
|
LogMessage(X_WARNING, "config/hal: couldn't shut down context: %s (%s)\n",
|
||||||
error.name, error.message);
|
error.name ? error.name : "unknown error",
|
||||||
|
error.message ? error.message : "null");
|
||||||
out_ctx:
|
out_ctx:
|
||||||
libhal_ctx_free(info->hal_ctx);
|
libhal_ctx_free(info->hal_ctx);
|
||||||
out_err:
|
out_err:
|
||||||
|
|
15
configure.ac
15
configure.ac
|
@ -113,7 +113,7 @@ AM_CONDITIONAL(XSERVER_DTRACE, [test "x$WDTRACE" != "xno"])
|
||||||
|
|
||||||
AC_HEADER_DIRENT
|
AC_HEADER_DIRENT
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h dlfcn.h])
|
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h dlfcn.h stropts.h])
|
||||||
|
|
||||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
|
@ -222,7 +222,7 @@ AC_CHECK_LIB(m, cbrt, AC_DEFINE(HAVE_CBRT, 1, [Have the 'cbrt' function]))
|
||||||
AC_CHECK_HEADERS([ndbm.h dbm.h rpcsvc/dbm.h])
|
AC_CHECK_HEADERS([ndbm.h dbm.h rpcsvc/dbm.h])
|
||||||
|
|
||||||
dnl AGPGART headers
|
dnl AGPGART headers
|
||||||
AC_CHECK_HEADERS([linux/agpgart.h sys/agpio.h], AGP=yes)
|
AC_CHECK_HEADERS([linux/agpgart.h sys/agpio.h sys/agpgart.h], AGP=yes)
|
||||||
AM_CONDITIONAL(AGP, [test "x$AGP" = xyes])
|
AM_CONDITIONAL(AGP, [test "x$AGP" = xyes])
|
||||||
|
|
||||||
dnl APM header
|
dnl APM header
|
||||||
|
@ -440,8 +440,8 @@ AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug],
|
||||||
[Enable debugging (default: disabled)]),
|
[Enable debugging (default: disabled)]),
|
||||||
[DEBUGGING=$enableval], [DEBUGGING=no])
|
[DEBUGGING=$enableval], [DEBUGGING=no])
|
||||||
AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
|
AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
|
||||||
[Enable unit-tests (default: enabled)]),
|
[Enable unit-tests (default: auto)]),
|
||||||
[UNITTESTS=$enableval], [UNITTESTS=yes])
|
[UNITTESTS=$enableval], [UNITTESTS=auto])
|
||||||
AC_ARG_WITH(int10, AS_HELP_STRING([--with-int10=BACKEND], [int10 backend: vm86, x86emu or stub]),
|
AC_ARG_WITH(int10, AS_HELP_STRING([--with-int10=BACKEND], [int10 backend: vm86, x86emu or stub]),
|
||||||
[INT10="$withval"],
|
[INT10="$withval"],
|
||||||
[INT10="$DEFAULT_INT10"])
|
[INT10="$DEFAULT_INT10"])
|
||||||
|
@ -889,7 +889,7 @@ if test "x$DRI" = xyes; then
|
||||||
AC_SUBST(DRIPROTO_CFLAGS)
|
AC_SUBST(DRIPROTO_CFLAGS)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= 1.99.3],
|
PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= 2.1],
|
||||||
[HAVE_DRI2PROTO=yes], [HAVE_DRI2PROTO=no])
|
[HAVE_DRI2PROTO=yes], [HAVE_DRI2PROTO=no])
|
||||||
case "$DRI2,$HAVE_DRI2PROTO" in
|
case "$DRI2,$HAVE_DRI2PROTO" in
|
||||||
yes,no)
|
yes,no)
|
||||||
|
@ -1144,6 +1144,9 @@ if test "x$DEBUGGING" = xyes; then
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes])
|
AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes])
|
||||||
|
|
||||||
|
if test "x$UNITTESTS" = xauto; then
|
||||||
|
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.16], [UNITTESTS=yes], [UNITTESTS=no])
|
||||||
|
fi
|
||||||
if test "x$UNITTESTS" = xyes; then
|
if test "x$UNITTESTS" = xyes; then
|
||||||
AC_DEFINE(UNITTESTS, 1, [Enable unit tests])
|
AC_DEFINE(UNITTESTS, 1, [Enable unit tests])
|
||||||
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.16])
|
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.16])
|
||||||
|
@ -1843,7 +1846,7 @@ if test "$KDRIVE" = yes; then
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.la'
|
KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.la'
|
||||||
KDRIVE_LOCAL_LIBS="$DIX_LIB $MAIN_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB $CONFIG_LIB"
|
KDRIVE_LOCAL_LIBS="$MAIN_LIB $DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB $CONFIG_LIB"
|
||||||
KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
|
KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
|
||||||
KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB $OS_LIB"
|
KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB $OS_LIB"
|
||||||
KDRIVE_LIBS="$TSLIB_LIBS $KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS"
|
KDRIVE_LIBS="$TSLIB_LIBS $KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS"
|
||||||
|
|
|
@ -58,11 +58,10 @@ typedef struct _DamageExt {
|
||||||
} DamageExtRec, *DamageExtPtr;
|
} DamageExtRec, *DamageExtPtr;
|
||||||
|
|
||||||
#define VERIFY_DAMAGEEXT(pDamageExt, rid, client, mode) { \
|
#define VERIFY_DAMAGEEXT(pDamageExt, rid, client, mode) { \
|
||||||
pDamageExt = SecurityLookupIDByType (client, rid, DamageExtType, mode); \
|
int rc = dixLookupResourceByType((pointer *)&(pDamageExt), rid, \
|
||||||
if (!pDamageExt) { \
|
DamageExtType, client, mode); \
|
||||||
client->errorValue = rid; \
|
if (rc != Success) \
|
||||||
return DamageErrorBase + BadDamage; \
|
return (rc == BadValue) ? DamageErrorBase + BadDamage : rc; \
|
||||||
} \
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
33
dbe/dbe.c
33
dbe/dbe.c
|
@ -411,20 +411,23 @@ ProcDbeDeallocateBackBufferName(ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST(xDbeDeallocateBackBufferNameReq);
|
REQUEST(xDbeDeallocateBackBufferNameReq);
|
||||||
DbeWindowPrivPtr pDbeWindowPriv;
|
DbeWindowPrivPtr pDbeWindowPriv;
|
||||||
int i;
|
int rc, i;
|
||||||
|
pointer val;
|
||||||
|
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xDbeDeallocateBackBufferNameReq);
|
REQUEST_SIZE_MATCH(xDbeDeallocateBackBufferNameReq);
|
||||||
|
|
||||||
/* Buffer name must be valid */
|
/* Buffer name must be valid */
|
||||||
if (!(pDbeWindowPriv = (DbeWindowPrivPtr)SecurityLookupIDByType(client,
|
rc = dixLookupResourceByType((pointer *)&pDbeWindowPriv, stuff->buffer,
|
||||||
stuff->buffer, dbeWindowPrivResType, DixDestroyAccess)) ||
|
dbeWindowPrivResType, client,
|
||||||
!(SecurityLookupIDByType(client, stuff->buffer, dbeDrawableResType,
|
DixDestroyAccess);
|
||||||
DixDestroyAccess)))
|
if (rc != Success)
|
||||||
{
|
return (rc == BadValue) ? dbeErrorBase + DbeBadBuffer : rc;
|
||||||
client->errorValue = stuff->buffer;
|
|
||||||
return(dbeErrorBase + DbeBadBuffer);
|
rc = dixLookupResourceByType(&val, stuff->buffer, dbeDrawableResType,
|
||||||
}
|
client, DixDestroyAccess);
|
||||||
|
if (rc != Success)
|
||||||
|
return (rc == BadValue) ? dbeErrorBase + DbeBadBuffer : rc;
|
||||||
|
|
||||||
/* Make sure that the id is valid for the window.
|
/* Make sure that the id is valid for the window.
|
||||||
* This is paranoid code since we already looked up the ID by type
|
* This is paranoid code since we already looked up the ID by type
|
||||||
|
@ -833,19 +836,21 @@ ProcDbeGetBackBufferAttributes(ClientPtr client)
|
||||||
REQUEST(xDbeGetBackBufferAttributesReq);
|
REQUEST(xDbeGetBackBufferAttributesReq);
|
||||||
xDbeGetBackBufferAttributesReply rep;
|
xDbeGetBackBufferAttributesReply rep;
|
||||||
DbeWindowPrivPtr pDbeWindowPriv;
|
DbeWindowPrivPtr pDbeWindowPriv;
|
||||||
int n;
|
int rc, n;
|
||||||
|
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xDbeGetBackBufferAttributesReq);
|
REQUEST_SIZE_MATCH(xDbeGetBackBufferAttributesReq);
|
||||||
|
|
||||||
if (!(pDbeWindowPriv = (DbeWindowPrivPtr)SecurityLookupIDByType(client,
|
rc = dixLookupResourceByType((pointer *)&pDbeWindowPriv, stuff->buffer,
|
||||||
stuff->buffer, dbeWindowPrivResType, DixGetAttrAccess)))
|
dbeWindowPrivResType, client,
|
||||||
|
DixGetAttrAccess);
|
||||||
|
if (rc == Success)
|
||||||
{
|
{
|
||||||
rep.attributes = None;
|
rep.attributes = pDbeWindowPriv->pWindow->drawable.id;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rep.attributes = pDbeWindowPriv->pWindow->drawable.id;
|
rep.attributes = None;
|
||||||
}
|
}
|
||||||
|
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
|
|
|
@ -893,9 +893,9 @@ AllocColor (ColormapPtr pmap,
|
||||||
if (pmap->mid != pmap->pScreen->defColormap &&
|
if (pmap->mid != pmap->pScreen->defColormap &&
|
||||||
pmap->pVisual->vid == pmap->pScreen->rootVisual)
|
pmap->pVisual->vid == pmap->pScreen->rootVisual)
|
||||||
{
|
{
|
||||||
ColormapPtr prootmap = (ColormapPtr)
|
ColormapPtr prootmap;
|
||||||
SecurityLookupIDByType (clients[client], pmap->pScreen->defColormap,
|
dixLookupResourceByType((pointer *)&prootmap, pmap->pScreen->defColormap,
|
||||||
RT_COLORMAP, DixReadAccess);
|
RT_COLORMAP, clients[client], DixReadAccess);
|
||||||
|
|
||||||
if (pmap->class == prootmap->class)
|
if (pmap->class == prootmap->class)
|
||||||
FindColorInRootCmap (prootmap, prootmap->red, entries, &rgb,
|
FindColorInRootCmap (prootmap, prootmap->red, entries, &rgb,
|
||||||
|
@ -910,9 +910,9 @@ AllocColor (ColormapPtr pmap,
|
||||||
if (pmap->mid != pmap->pScreen->defColormap &&
|
if (pmap->mid != pmap->pScreen->defColormap &&
|
||||||
pmap->pVisual->vid == pmap->pScreen->rootVisual)
|
pmap->pVisual->vid == pmap->pScreen->rootVisual)
|
||||||
{
|
{
|
||||||
ColormapPtr prootmap = (ColormapPtr)
|
ColormapPtr prootmap;
|
||||||
SecurityLookupIDByType (clients[client], pmap->pScreen->defColormap,
|
dixLookupResourceByType((pointer *)&prootmap, pmap->pScreen->defColormap,
|
||||||
RT_COLORMAP, DixReadAccess);
|
RT_COLORMAP, clients[client], DixReadAccess);
|
||||||
|
|
||||||
if (pmap->class == prootmap->class)
|
if (pmap->class == prootmap->class)
|
||||||
{
|
{
|
||||||
|
@ -1550,12 +1550,14 @@ FreePixels(ColormapPtr pmap, int client)
|
||||||
int
|
int
|
||||||
FreeClientPixels (pointer value, XID fakeid)
|
FreeClientPixels (pointer value, XID fakeid)
|
||||||
{
|
{
|
||||||
ColormapPtr pmap;
|
pointer pmap;
|
||||||
colorResource *pcr = (colorResource *)value;
|
colorResource *pcr = value;
|
||||||
|
int rc;
|
||||||
|
|
||||||
pmap = (ColormapPtr) LookupIDByType(pcr->mid, RT_COLORMAP);
|
rc = dixLookupResourceByType(&pmap, pcr->mid, RT_COLORMAP, serverClient,
|
||||||
if (pmap)
|
DixRemoveAccess);
|
||||||
FreePixels(pmap, pcr->client);
|
if (rc == Success)
|
||||||
|
FreePixels((ColormapPtr)pmap, pcr->client);
|
||||||
xfree(pcr);
|
xfree(pcr);
|
||||||
return Success;
|
return Success;
|
||||||
}
|
}
|
||||||
|
|
|
@ -545,8 +545,9 @@ CreateRootCursor(char *unused1, unsigned int unused2)
|
||||||
if (err != Success)
|
if (err != Success)
|
||||||
return NullCursor;
|
return NullCursor;
|
||||||
|
|
||||||
cursorfont = (FontPtr)LookupIDByType(fontID, RT_FONT);
|
err = dixLookupResourceByType((pointer *)&cursorfont, fontID, RT_FONT,
|
||||||
if (!cursorfont)
|
serverClient, DixReadAccess);
|
||||||
|
if (err != Success)
|
||||||
return NullCursor;
|
return NullCursor;
|
||||||
if (AllocGlyphCursor(fontID, 0, fontID, 1, 0, 0, 0, ~0, ~0, ~0,
|
if (AllocGlyphCursor(fontID, 0, fontID, 1, 0, 0, 0, ~0, ~0, ~0,
|
||||||
&curs, serverClient, (XID)0) != Success)
|
&curs, serverClient, (XID)0) != Success)
|
||||||
|
|
|
@ -148,14 +148,18 @@ SecurityLookupIDByClass(ClientPtr client, XID id, RESTYPE classes,
|
||||||
pointer
|
pointer
|
||||||
LookupIDByType(XID id, RESTYPE rtype)
|
LookupIDByType(XID id, RESTYPE rtype)
|
||||||
{
|
{
|
||||||
return SecurityLookupIDByType(NullClient, id, rtype, DixUnknownAccess);
|
pointer val;
|
||||||
|
dixLookupResourceByType(&val, id, rtype, NullClient, DixUnknownAccess);
|
||||||
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* replaced by dixLookupResourceByClass */
|
/* replaced by dixLookupResourceByClass */
|
||||||
pointer
|
pointer
|
||||||
LookupIDByClass(XID id, RESTYPE classes)
|
LookupIDByClass(XID id, RESTYPE classes)
|
||||||
{
|
{
|
||||||
return SecurityLookupIDByClass(NullClient, id, classes, DixUnknownAccess);
|
pointer val;
|
||||||
|
dixLookupResourceByClass(&val, id, classes, NullClient, DixUnknownAccess);
|
||||||
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* replaced by dixLookupResourceBy{Type,Class} */
|
/* replaced by dixLookupResourceBy{Type,Class} */
|
||||||
|
|
|
@ -413,12 +413,6 @@ Dispatch(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
client->sequence++;
|
client->sequence++;
|
||||||
#ifdef DEBUG
|
|
||||||
if (client->requestLogIndex == MAX_REQUEST_LOG)
|
|
||||||
client->requestLogIndex = 0;
|
|
||||||
client->requestLog[client->requestLogIndex] = MAJOROP;
|
|
||||||
client->requestLogIndex++;
|
|
||||||
#endif
|
|
||||||
#ifdef XSERVER_DTRACE
|
#ifdef XSERVER_DTRACE
|
||||||
XSERVER_REQUEST_START(LookupMajorName(MAJOROP), MAJOROP,
|
XSERVER_REQUEST_START(LookupMajorName(MAJOROP), MAJOROP,
|
||||||
((xReq *)client->requestBuffer)->length,
|
((xReq *)client->requestBuffer)->length,
|
||||||
|
@ -1252,12 +1246,13 @@ int
|
||||||
ProcCloseFont(ClientPtr client)
|
ProcCloseFont(ClientPtr client)
|
||||||
{
|
{
|
||||||
FontPtr pFont;
|
FontPtr pFont;
|
||||||
|
int rc;
|
||||||
REQUEST(xResourceReq);
|
REQUEST(xResourceReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xResourceReq);
|
REQUEST_SIZE_MATCH(xResourceReq);
|
||||||
pFont = (FontPtr)SecurityLookupIDByType(client, stuff->id, RT_FONT,
|
rc = dixLookupResourceByType((pointer *)&pFont, stuff->id, RT_FONT,
|
||||||
DixDestroyAccess);
|
client, DixDestroyAccess);
|
||||||
if ( pFont != (FontPtr)NULL) /* id was valid */
|
if (rc == Success)
|
||||||
{
|
{
|
||||||
FreeResource(stuff->id, RT_NONE);
|
FreeResource(stuff->id, RT_NONE);
|
||||||
return(client->noClientException);
|
return(client->noClientException);
|
||||||
|
@ -1265,7 +1260,7 @@ ProcCloseFont(ClientPtr client)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
client->errorValue = stuff->id;
|
client->errorValue = stuff->id;
|
||||||
return (BadFont);
|
return (rc == BadValue) ? BadFont : rc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,8 +137,9 @@ SetDefaultFont(char *defaultfontname)
|
||||||
(unsigned) strlen(defaultfontname), defaultfontname);
|
(unsigned) strlen(defaultfontname), defaultfontname);
|
||||||
if (err != Success)
|
if (err != Success)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
pf = (FontPtr) LookupIDByType(fid, RT_FONT);
|
err = dixLookupResourceByType((pointer *)&pf, fid, RT_FONT, serverClient,
|
||||||
if (pf == (FontPtr) NULL)
|
DixReadAccess);
|
||||||
|
if (err != Success)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
defaultFont = pf;
|
defaultFont = pf;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -1201,17 +1202,18 @@ doPolyText(ClientPtr client, PTclosurePtr c)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Make sure our drawable hasn't disappeared while we slept. */
|
/* Make sure our drawable hasn't disappeared while we slept. */
|
||||||
if (c->slept &&
|
if (c->slept && c->pDraw)
|
||||||
c->pDraw &&
|
|
||||||
c->pDraw != (DrawablePtr)SecurityLookupIDByClass(client, c->did,
|
|
||||||
RC_DRAWABLE, DixWriteAccess))
|
|
||||||
{
|
{
|
||||||
/* Our drawable has disappeared. Treat like client died... ask
|
DrawablePtr pDraw;
|
||||||
the FPE code to clean up after client and avoid further
|
dixLookupDrawable(&pDraw, c->did, client, 0, DixWriteAccess);
|
||||||
rendering while we clean up after ourself. */
|
if (c->pDraw != pDraw) {
|
||||||
fpe = c->pGC->font->fpe;
|
/* Our drawable has disappeared. Treat like client died... ask
|
||||||
(*fpe_functions[fpe->type].client_died) ((pointer) client, fpe);
|
the FPE code to clean up after client and avoid further
|
||||||
c->pDraw = (DrawablePtr)0;
|
rendering while we clean up after ourself. */
|
||||||
|
fpe = c->pGC->font->fpe;
|
||||||
|
(*fpe_functions[fpe->type].client_died) ((pointer) client, fpe);
|
||||||
|
c->pDraw = (DrawablePtr)0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
client_state = c->slept ? SLEEPING : NEVER_SLEPT;
|
client_state = c->slept ? SLEEPING : NEVER_SLEPT;
|
||||||
|
@ -1233,12 +1235,11 @@ doPolyText(ClientPtr client, PTclosurePtr c)
|
||||||
| ((Font)*(c->pElt+3)) << 8
|
| ((Font)*(c->pElt+3)) << 8
|
||||||
| ((Font)*(c->pElt+2)) << 16
|
| ((Font)*(c->pElt+2)) << 16
|
||||||
| ((Font)*(c->pElt+1)) << 24;
|
| ((Font)*(c->pElt+1)) << 24;
|
||||||
pFont = (FontPtr)SecurityLookupIDByType(client, fid, RT_FONT,
|
err = dixLookupResourceByType((pointer *)&pFont, fid, RT_FONT,
|
||||||
DixReadAccess);
|
client, DixReadAccess);
|
||||||
if (!pFont)
|
if (err != Success)
|
||||||
{
|
{
|
||||||
client->errorValue = fid;
|
err = (err == BadValue) ? BadFont : err;
|
||||||
err = BadFont;
|
|
||||||
/* restore pFont and fid for step 4 (described below) */
|
/* restore pFont and fid for step 4 (described below) */
|
||||||
pFont = oldpFont;
|
pFont = oldpFont;
|
||||||
fid = oldfid;
|
fid = oldfid;
|
||||||
|
@ -1486,17 +1487,18 @@ doImageText(ClientPtr client, ITclosurePtr c)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Make sure our drawable hasn't disappeared while we slept. */
|
/* Make sure our drawable hasn't disappeared while we slept. */
|
||||||
if (c->slept &&
|
if (c->slept && c->pDraw)
|
||||||
c->pDraw &&
|
|
||||||
c->pDraw != (DrawablePtr)SecurityLookupIDByClass(client, c->did,
|
|
||||||
RC_DRAWABLE, DixWriteAccess))
|
|
||||||
{
|
{
|
||||||
/* Our drawable has disappeared. Treat like client died... ask
|
DrawablePtr pDraw;
|
||||||
the FPE code to clean up after client. */
|
dixLookupDrawable(&pDraw, c->did, client, 0, DixWriteAccess);
|
||||||
fpe = c->pGC->font->fpe;
|
if (c->pDraw != pDraw) {
|
||||||
(*fpe_functions[fpe->type].client_died) ((pointer) client, fpe);
|
/* Our drawable has disappeared. Treat like client died... ask
|
||||||
err = Success;
|
the FPE code to clean up after client. */
|
||||||
goto bail;
|
fpe = c->pGC->font->fpe;
|
||||||
|
(*fpe_functions[fpe->type].client_died) ((pointer) client, fpe);
|
||||||
|
err = Success;
|
||||||
|
goto bail;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lgerr = LoadGlyphs(client, c->pGC->font, c->nChars, c->itemSize, c->data);
|
lgerr = LoadGlyphs(client, c->pGC->font, c->nChars, c->itemSize, c->data);
|
||||||
|
@ -2013,8 +2015,9 @@ FreeFonts(void)
|
||||||
FontPtr
|
FontPtr
|
||||||
find_old_font(XID id)
|
find_old_font(XID id)
|
||||||
{
|
{
|
||||||
return (FontPtr) SecurityLookupIDByType(NullClient, id, RT_NONE,
|
pointer pFont;
|
||||||
DixUnknownAccess);
|
dixLookupResourceByType(&pFont, id, RT_NONE, serverClient, DixReadAccess);
|
||||||
|
return (FontPtr)pFont;
|
||||||
}
|
}
|
||||||
|
|
||||||
Font
|
Font
|
||||||
|
|
|
@ -240,14 +240,9 @@ dixLookupWindow(WindowPtr *pWin, XID id, ClientPtr client, Mask access)
|
||||||
int
|
int
|
||||||
dixLookupGC(GCPtr *pGC, XID id, ClientPtr client, Mask access)
|
dixLookupGC(GCPtr *pGC, XID id, ClientPtr client, Mask access)
|
||||||
{
|
{
|
||||||
GCPtr pTmp = (GCPtr)SecurityLookupIDByType(client, id, RT_GC, access);
|
int rc;
|
||||||
if (pTmp) {
|
rc = dixLookupResourceByType((pointer *)pGC, id, RT_GC, client, access);
|
||||||
*pGC = pTmp;
|
return (rc == BadValue) ? BadGC : rc;
|
||||||
return Success;
|
|
||||||
}
|
|
||||||
client->errorValue = id;
|
|
||||||
*pGC = NULL;
|
|
||||||
return BadGC;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
28
dix/events.c
28
dix/events.c
|
@ -583,16 +583,17 @@ XineramaSetWindowPntrs(DeviceIntPtr pDev, WindowPtr pWin)
|
||||||
PanoramiXNumScreens*sizeof(WindowPtr));
|
PanoramiXNumScreens*sizeof(WindowPtr));
|
||||||
} else {
|
} else {
|
||||||
PanoramiXRes *win;
|
PanoramiXRes *win;
|
||||||
int i;
|
int rc, i;
|
||||||
|
|
||||||
win = (PanoramiXRes*)LookupIDByType(pWin->drawable.id, XRT_WINDOW);
|
rc = dixLookupResourceByType((pointer *)&win, pWin->drawable.id,
|
||||||
|
XRT_WINDOW, serverClient, DixReadAccess);
|
||||||
if(!win)
|
if (rc != Success)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
for(i = 0; i < PanoramiXNumScreens; i++) {
|
for(i = 0; i < PanoramiXNumScreens; i++) {
|
||||||
pSprite->windows[i] = LookupIDByType(win->info[i].id, RT_WINDOW);
|
rc = dixLookupWindow(pSprite->windows + i, win->info[i].id,
|
||||||
if(!pSprite->windows[i]) /* window is being unmapped */
|
serverClient, DixReadAccess);
|
||||||
|
if (rc != Success) /* window is being unmapped */
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -664,7 +665,7 @@ XineramaConfineCursorToWindow(DeviceIntPtr pDev,
|
||||||
void
|
void
|
||||||
SetMaskForEvent(int deviceid, Mask mask, int event)
|
SetMaskForEvent(int deviceid, Mask mask, int event)
|
||||||
{
|
{
|
||||||
if (deviceid < 0 || deviceid > MAXDEVICES)
|
if (deviceid < 0 || deviceid >= MAXDEVICES)
|
||||||
FatalError("SetMaskForEvent: bogus device id");
|
FatalError("SetMaskForEvent: bogus device id");
|
||||||
filters[deviceid][event] = mask;
|
filters[deviceid][event] = mask;
|
||||||
}
|
}
|
||||||
|
@ -4246,8 +4247,7 @@ CoreEnterLeaveEvent(
|
||||||
if ((type == EnterNotify) && (mask & KeymapStateMask))
|
if ((type == EnterNotify) && (mask & KeymapStateMask))
|
||||||
{
|
{
|
||||||
xKeymapEvent ke;
|
xKeymapEvent ke;
|
||||||
ClientPtr client = grab ? rClient(grab)
|
ClientPtr client = grab ? rClient(grab) : wClient(pWin);
|
||||||
: clients[CLIENT_ID(pWin->drawable.id)];
|
|
||||||
if (XaceHook(XACE_DEVICE_ACCESS, client, keybd, DixReadAccess))
|
if (XaceHook(XACE_DEVICE_ACCESS, client, keybd, DixReadAccess))
|
||||||
bzero((char *)&ke.map[0], 31);
|
bzero((char *)&ke.map[0], 31);
|
||||||
else
|
else
|
||||||
|
@ -4354,11 +4354,11 @@ CoreFocusEvent(DeviceIntPtr dev, int type, int mode, int detail, WindowPtr pWin)
|
||||||
((pWin->eventMask | wOtherEventMasks(pWin)) & KeymapStateMask))
|
((pWin->eventMask | wOtherEventMasks(pWin)) & KeymapStateMask))
|
||||||
{
|
{
|
||||||
xKeymapEvent ke;
|
xKeymapEvent ke;
|
||||||
ClientPtr client = clients[CLIENT_ID(pWin->drawable.id)];
|
ClientPtr client = wClient(pWin);
|
||||||
if (XaceHook(XACE_DEVICE_ACCESS, client, dev, FALSE))
|
if (XaceHook(XACE_DEVICE_ACCESS, client, dev, DixReadAccess))
|
||||||
memmove((char *)&ke.map[0], (char *)&dev->key->down[1], 31);
|
|
||||||
else
|
|
||||||
bzero((char *)&ke.map[0], 31);
|
bzero((char *)&ke.map[0], 31);
|
||||||
|
else
|
||||||
|
memmove((char *)&ke.map[0], (char *)&dev->key->down[1], 31);
|
||||||
|
|
||||||
ke.type = KeymapNotify;
|
ke.type = KeymapNotify;
|
||||||
DeliverEventsToWindow(dev, pWin, (xEvent *)&ke, 1,
|
DeliverEventsToWindow(dev, pWin, (xEvent *)&ke, 1,
|
||||||
|
@ -5425,7 +5425,7 @@ DeleteWindowFromAnyEvents(WindowPtr pWin, Bool freeResources)
|
||||||
to None
|
to None
|
||||||
*/
|
*/
|
||||||
#ifdef NOTDEF
|
#ifdef NOTDEF
|
||||||
|| clients[CLIENT_ID(parent->drawable.id)]->clientGone
|
|| wClient(parent)->clientGone
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
if (!ActivateFocusInGrab(keybd, pWin, parent))
|
if (!ActivateFocusInGrab(keybd, pWin, parent))
|
||||||
|
|
|
@ -77,9 +77,12 @@ GetAccelerationProfile(DeviceVelocityPtr s, int profile_num);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/********************************
|
/********************************
|
||||||
* Init/Uninit etc
|
* Init/Uninit
|
||||||
*******************************/
|
*******************************/
|
||||||
|
|
||||||
|
/* some int which is not a profile number */
|
||||||
|
#define PROFILE_UNINITIALIZE (-100)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Init struct so it should match the average case
|
* Init struct so it should match the average case
|
||||||
*/
|
*/
|
||||||
|
@ -108,7 +111,7 @@ InitVelocityData(DeviceVelocityPtr s)
|
||||||
static void
|
static void
|
||||||
FreeVelocityData(DeviceVelocityPtr s){
|
FreeVelocityData(DeviceVelocityPtr s){
|
||||||
xfree(s->tracker);
|
xfree(s->tracker);
|
||||||
SetAccelerationProfile(s, -1);
|
SetAccelerationProfile(s, PROFILE_UNINITIALIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -824,6 +827,16 @@ LinearProfile(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static float
|
||||||
|
NoProfile(
|
||||||
|
DeviceVelocityPtr pVel,
|
||||||
|
float velocity,
|
||||||
|
float threshold,
|
||||||
|
float acc)
|
||||||
|
{
|
||||||
|
return 1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
static PointerAccelerationProfileFunc
|
static PointerAccelerationProfileFunc
|
||||||
GetAccelerationProfile(
|
GetAccelerationProfile(
|
||||||
DeviceVelocityPtr s,
|
DeviceVelocityPtr s,
|
||||||
|
@ -844,8 +857,8 @@ GetAccelerationProfile(
|
||||||
return PowerProfile;
|
return PowerProfile;
|
||||||
case AccelProfileLinear:
|
case AccelProfileLinear:
|
||||||
return LinearProfile;
|
return LinearProfile;
|
||||||
case AccelProfileReserved:
|
case AccelProfileNone:
|
||||||
/* reserved for future use, e.g. a user-defined profile */
|
return NoProfile;
|
||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -856,8 +869,10 @@ GetAccelerationProfile(
|
||||||
* Intended to make profiles exchangeable at runtime.
|
* Intended to make profiles exchangeable at runtime.
|
||||||
* If you created a profile, give it a number here and in the header to
|
* If you created a profile, give it a number here and in the header to
|
||||||
* make it selectable. In case some profile-specific init is needed, here
|
* make it selectable. In case some profile-specific init is needed, here
|
||||||
* would be a good place, since FreeVelocityData() also calls this with -1.
|
* would be a good place, since FreeVelocityData() also calls this with
|
||||||
* returns FALSE (0) if profile number is unavailable.
|
* PROFILE_UNINITIALIZE.
|
||||||
|
*
|
||||||
|
* returns FALSE if profile number is unavailable, TRUE otherwise.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
SetAccelerationProfile(
|
SetAccelerationProfile(
|
||||||
|
@ -867,7 +882,7 @@ SetAccelerationProfile(
|
||||||
PointerAccelerationProfileFunc profile;
|
PointerAccelerationProfileFunc profile;
|
||||||
profile = GetAccelerationProfile(s, profile_num);
|
profile = GetAccelerationProfile(s, profile_num);
|
||||||
|
|
||||||
if(profile == NULL && profile_num != -1)
|
if(profile == NULL && profile_num != PROFILE_UNINITIALIZE)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if(s->profile_private != NULL){
|
if(s->profile_private != NULL){
|
||||||
|
@ -955,6 +970,11 @@ acceleratePointerPredictable(
|
||||||
if (!num_valuators || !valuators || !velocitydata)
|
if (!num_valuators || !valuators || !velocitydata)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (velocitydata->statistics.profile_number == AccelProfileNone &&
|
||||||
|
velocitydata->const_acceleration == 1.0f) {
|
||||||
|
return; /*we're inactive anyway, so skip the whole thing.*/
|
||||||
|
}
|
||||||
|
|
||||||
if (first_valuator == 0) {
|
if (first_valuator == 0) {
|
||||||
dx = valuators[0];
|
dx = valuators[0];
|
||||||
px = &valuators[0];
|
px = &valuators[0];
|
||||||
|
@ -988,7 +1008,7 @@ acceleratePointerPredictable(
|
||||||
/* Since it may not be apparent: lrintf() does not offer
|
/* Since it may not be apparent: lrintf() does not offer
|
||||||
* strong statements about rounding; however because we
|
* strong statements about rounding; however because we
|
||||||
* process each axis conditionally, there's no danger
|
* process each axis conditionally, there's no danger
|
||||||
* of a toggling remainder. Its lack of guarantees hopefully
|
* of a toggling remainder. Its lack of guarantees likely
|
||||||
* makes it faster on the average target. */
|
* makes it faster on the average target. */
|
||||||
*px = lrintf(tmp);
|
*px = lrintf(tmp);
|
||||||
pDev->last.remainder[0] = tmp - (float)*px;
|
pDev->last.remainder[0] = tmp - (float)*px;
|
||||||
|
|
|
@ -392,13 +392,16 @@ unsigned int
|
||||||
GetXIDList(ClientPtr pClient, unsigned count, XID *pids)
|
GetXIDList(ClientPtr pClient, unsigned count, XID *pids)
|
||||||
{
|
{
|
||||||
unsigned int found = 0;
|
unsigned int found = 0;
|
||||||
XID id = pClient->clientAsMask;
|
XID rc, id = pClient->clientAsMask;
|
||||||
XID maxid;
|
XID maxid;
|
||||||
|
pointer val;
|
||||||
|
|
||||||
maxid = id | RESOURCE_ID_MASK;
|
maxid = id | RESOURCE_ID_MASK;
|
||||||
while ( (found < count) && (id <= maxid) )
|
while ( (found < count) && (id <= maxid) )
|
||||||
{
|
{
|
||||||
if (!LookupIDByClass(id, RC_ANY))
|
rc = dixLookupResourceByClass(&val, id, RC_ANY, serverClient,
|
||||||
|
DixGetAttrAccess);
|
||||||
|
if (rc == BadValue)
|
||||||
{
|
{
|
||||||
pids[found++] = id;
|
pids[found++] = id;
|
||||||
}
|
}
|
||||||
|
@ -826,6 +829,8 @@ FreeAllResources(void)
|
||||||
Bool
|
Bool
|
||||||
LegalNewID(XID id, ClientPtr client)
|
LegalNewID(XID id, ClientPtr client)
|
||||||
{
|
{
|
||||||
|
pointer val;
|
||||||
|
int rc;
|
||||||
|
|
||||||
#ifdef PANORAMIX
|
#ifdef PANORAMIX
|
||||||
XID minid, maxid;
|
XID minid, maxid;
|
||||||
|
@ -838,9 +843,16 @@ LegalNewID(XID id, ClientPtr client)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
#endif /* PANORAMIX */
|
#endif /* PANORAMIX */
|
||||||
return ((client->clientAsMask == (id & ~RESOURCE_ID_MASK)) &&
|
if (client->clientAsMask == (id & ~RESOURCE_ID_MASK))
|
||||||
((clientTable[client->index].expectID <= id) ||
|
{
|
||||||
!LookupIDByClass(id, RC_ANY)));
|
if (clientTable[client->index].expectID <= id)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
rc = dixLookupResourceByClass(&val, id, RC_ANY, serverClient,
|
||||||
|
DixGetAttrAccess);
|
||||||
|
return (rc == BadValue);
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
85
dix/window.c
85
dix/window.c
|
@ -2,25 +2,24 @@
|
||||||
|
|
||||||
Copyright (c) 2006, Red Hat, Inc.
|
Copyright (c) 2006, Red Hat, Inc.
|
||||||
|
|
||||||
Permission to use, copy, modify, distribute, and sell this software and its
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
documentation for any purpose is hereby granted without fee, provided that
|
copy of this software and associated documentation files (the "Software"),
|
||||||
the above copyright notice appear in all copies and that both that
|
to deal in the Software without restriction, including without limitation
|
||||||
copyright notice and this permission notice appear in supporting
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
documentation.
|
and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
The above copyright notice and this permission notice (including the next
|
||||||
all copies or substantial portions of the Software.
|
paragraph) shall be included in all copies or substantial portions of the
|
||||||
|
Software.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
RED HAT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
DEALINGS IN THE SOFTWARE.
|
||||||
Except as contained in this notice, the name of Red Hat shall not be
|
|
||||||
used in advertising or otherwise to promote the sale, use or other dealings
|
|
||||||
in this Software without prior written authorization from Red Hat.
|
|
||||||
|
|
||||||
Copyright 1987, 1998 The Open Group
|
Copyright 1987, 1998 The Open Group
|
||||||
|
|
||||||
|
@ -2775,6 +2774,7 @@ UnrealizeTree(
|
||||||
WindowPtr pChild;
|
WindowPtr pChild;
|
||||||
UnrealizeWindowProcPtr Unrealize;
|
UnrealizeWindowProcPtr Unrealize;
|
||||||
MarkUnrealizedWindowProcPtr MarkUnrealizedWindow;
|
MarkUnrealizedWindowProcPtr MarkUnrealizedWindow;
|
||||||
|
int rc;
|
||||||
|
|
||||||
Unrealize = pWin->drawable.pScreen->UnrealizeWindow;
|
Unrealize = pWin->drawable.pScreen->UnrealizeWindow;
|
||||||
MarkUnrealizedWindow = pWin->drawable.pScreen->MarkUnrealizedWindow;
|
MarkUnrealizedWindow = pWin->drawable.pScreen->MarkUnrealizedWindow;
|
||||||
|
@ -2788,9 +2788,10 @@ UnrealizeTree(
|
||||||
#ifdef PANORAMIX
|
#ifdef PANORAMIX
|
||||||
if(!noPanoramiXExtension && !pChild->drawable.pScreen->myNum) {
|
if(!noPanoramiXExtension && !pChild->drawable.pScreen->myNum) {
|
||||||
PanoramiXRes *win;
|
PanoramiXRes *win;
|
||||||
win = (PanoramiXRes*)LookupIDByType(pChild->drawable.id,
|
rc = dixLookupResourceByType((pointer *)&win,
|
||||||
XRT_WINDOW);
|
pChild->drawable.id, XRT_WINDOW,
|
||||||
if(win)
|
serverClient, DixWriteAccess);
|
||||||
|
if (rc == Success)
|
||||||
win->u.win.visibility = VisibilityNotViewable;
|
win->u.win.visibility = VisibilityNotViewable;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -3052,7 +3053,7 @@ SendVisibilityNotify(WindowPtr pWin)
|
||||||
if(!noPanoramiXExtension) {
|
if(!noPanoramiXExtension) {
|
||||||
PanoramiXRes *win;
|
PanoramiXRes *win;
|
||||||
WindowPtr pWin2;
|
WindowPtr pWin2;
|
||||||
int i, Scrnum;
|
int rc, i, Scrnum;
|
||||||
|
|
||||||
Scrnum = pWin->drawable.pScreen->myNum;
|
Scrnum = pWin->drawable.pScreen->myNum;
|
||||||
|
|
||||||
|
@ -3066,9 +3067,10 @@ SendVisibilityNotify(WindowPtr pWin)
|
||||||
for(i = 0; i < PanoramiXNumScreens; i++) {
|
for(i = 0; i < PanoramiXNumScreens; i++) {
|
||||||
if(i == Scrnum) continue;
|
if(i == Scrnum) continue;
|
||||||
|
|
||||||
pWin2 = (WindowPtr)LookupIDByType(win->info[i].id, RT_WINDOW);
|
rc = dixLookupWindow(&pWin2, win->info[i].id, serverClient,
|
||||||
|
DixWriteAccess);
|
||||||
|
|
||||||
if (pWin2) {
|
if (rc == Success) {
|
||||||
if(pWin2->visibility == VisibilityPartiallyObscured)
|
if(pWin2->visibility == VisibilityPartiallyObscured)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -3078,17 +3080,19 @@ SendVisibilityNotify(WindowPtr pWin)
|
||||||
break;
|
break;
|
||||||
case VisibilityPartiallyObscured:
|
case VisibilityPartiallyObscured:
|
||||||
if(Scrnum) {
|
if(Scrnum) {
|
||||||
pWin2 = (WindowPtr)LookupIDByType(win->info[0].id, RT_WINDOW);
|
rc = dixLookupWindow(&pWin2, win->info[0].id, serverClient,
|
||||||
if (pWin2) pWin = pWin2;
|
DixWriteAccess);
|
||||||
|
if (rc == Success) pWin = pWin2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case VisibilityFullyObscured:
|
case VisibilityFullyObscured:
|
||||||
for(i = 0; i < PanoramiXNumScreens; i++) {
|
for(i = 0; i < PanoramiXNumScreens; i++) {
|
||||||
if(i == Scrnum) continue;
|
if(i == Scrnum) continue;
|
||||||
|
|
||||||
pWin2 = (WindowPtr)LookupIDByType(win->info[i].id, RT_WINDOW);
|
rc = dixLookupWindow(&pWin2, win->info[i].id, serverClient,
|
||||||
|
DixWriteAccess);
|
||||||
|
|
||||||
if (pWin2) {
|
if (rc == Success) {
|
||||||
if(pWin2->visibility != VisibilityFullyObscured)
|
if(pWin2->visibility != VisibilityFullyObscured)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -3704,7 +3708,7 @@ DrawLogo(WindowPtr pWin)
|
||||||
int x, y;
|
int x, y;
|
||||||
unsigned int width, height, size;
|
unsigned int width, height, size;
|
||||||
GC *pGC;
|
GC *pGC;
|
||||||
int thin, gap, d31;
|
int rc, thin, gap, d31;
|
||||||
DDXPointRec poly[4];
|
DDXPointRec poly[4];
|
||||||
ChangeGCVal fore[2], back[2];
|
ChangeGCVal fore[2], back[2];
|
||||||
xrgb rgb[2];
|
xrgb rgb[2];
|
||||||
|
@ -3725,20 +3729,23 @@ DrawLogo(WindowPtr pWin)
|
||||||
fore[0].val = pScreen->whitePixel;
|
fore[0].val = pScreen->whitePixel;
|
||||||
else
|
else
|
||||||
fore[0].val = pScreen->blackPixel;
|
fore[0].val = pScreen->blackPixel;
|
||||||
if ((pWin->backgroundState == BackgroundPixel) &&
|
if (pWin->backgroundState == BackgroundPixel) {
|
||||||
(cmap = (ColormapPtr)LookupIDByType(wColormap (pWin), RT_COLORMAP))) {
|
rc = dixLookupResourceByType((pointer *)&cmap, wColormap(pWin),
|
||||||
Pixel querypixels[2];
|
RT_COLORMAP, serverClient, DixReadAccess);
|
||||||
|
if (rc == Success) {
|
||||||
|
Pixel querypixels[2];
|
||||||
|
|
||||||
querypixels[0] = fore[0].val;
|
querypixels[0] = fore[0].val;
|
||||||
querypixels[1] = pWin->background.pixel;
|
querypixels[1] = pWin->background.pixel;
|
||||||
QueryColors(cmap, 2, querypixels, rgb);
|
QueryColors(cmap, 2, querypixels, rgb);
|
||||||
if ((rgb[0].red == rgb[1].red) &&
|
if ((rgb[0].red == rgb[1].red) &&
|
||||||
(rgb[0].green == rgb[1].green) &&
|
(rgb[0].green == rgb[1].green) &&
|
||||||
(rgb[0].blue == rgb[1].blue)) {
|
(rgb[0].blue == rgb[1].blue)) {
|
||||||
if (fore[0].val == pScreen->blackPixel)
|
if (fore[0].val == pScreen->blackPixel)
|
||||||
fore[0].val = pScreen->whitePixel;
|
fore[0].val = pScreen->whitePixel;
|
||||||
else
|
else
|
||||||
fore[0].val = pScreen->blackPixel;
|
fore[0].val = pScreen->blackPixel;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fore[1].val = FillSolid;
|
fore[1].val = FillSolid;
|
||||||
|
|
|
@ -219,7 +219,7 @@ turns on auto-repeat.
|
||||||
starts the stipple with the classic stipple and cursor visible. The default
|
starts the stipple with the classic stipple and cursor visible. The default
|
||||||
is to start with a black root window, and to suppress display of the cursor
|
is to start with a black root window, and to suppress display of the cursor
|
||||||
until the first time an application calls XDefineCursor(). For the Xorg
|
until the first time an application calls XDefineCursor(). For the Xorg
|
||||||
server, this also changes the default for the DontZap option to FALSE. For
|
server, this also sets the default for the DontZap option to FALSE. For
|
||||||
kdrive servers, this implies -zap.
|
kdrive servers, this implies -zap.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-s \fIminutes\fP
|
.B \-s \fIminutes\fP
|
||||||
|
|
53
exa/exa.c
53
exa/exa.c
|
@ -1048,6 +1048,50 @@ exaCreateScreenResources(ScreenPtr pScreen)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
ExaBlockHandler(int screenNum, pointer blockData, pointer pTimeout,
|
||||||
|
pointer pReadmask)
|
||||||
|
{
|
||||||
|
ScreenPtr pScreen = screenInfo.screens[screenNum];
|
||||||
|
ExaScreenPriv(pScreen);
|
||||||
|
|
||||||
|
unwrap(pExaScr, pScreen, BlockHandler);
|
||||||
|
(*pScreen->BlockHandler) (screenNum, blockData, pTimeout, pReadmask);
|
||||||
|
wrap(pExaScr, pScreen, BlockHandler, ExaBlockHandler);
|
||||||
|
|
||||||
|
/* Try and keep the offscreen memory area tidy every now and then (at most
|
||||||
|
* once per second) when the server has been idle for at least 100ms.
|
||||||
|
*/
|
||||||
|
if (pExaScr->numOffscreenAvailable > 1) {
|
||||||
|
CARD32 now = GetTimeInMillis();
|
||||||
|
|
||||||
|
pExaScr->nextDefragment = now +
|
||||||
|
max(100, (INT32)(pExaScr->lastDefragment + 1000 - now));
|
||||||
|
AdjustWaitForDelay(pTimeout, pExaScr->nextDefragment - now);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
ExaWakeupHandler(int screenNum, pointer wakeupData, unsigned long result,
|
||||||
|
pointer pReadmask)
|
||||||
|
{
|
||||||
|
ScreenPtr pScreen = screenInfo.screens[screenNum];
|
||||||
|
ExaScreenPriv(pScreen);
|
||||||
|
|
||||||
|
unwrap(pExaScr, pScreen, WakeupHandler);
|
||||||
|
(*pScreen->WakeupHandler) (screenNum, wakeupData, result, pReadmask);
|
||||||
|
wrap(pExaScr, pScreen, WakeupHandler, ExaWakeupHandler);
|
||||||
|
|
||||||
|
if (result == 0 && pExaScr->numOffscreenAvailable > 1) {
|
||||||
|
CARD32 now = GetTimeInMillis();
|
||||||
|
|
||||||
|
if ((int)(now - pExaScr->nextDefragment) > 0) {
|
||||||
|
ExaOffscreenDefragment(pScreen);
|
||||||
|
pExaScr->lastDefragment = now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* exaCloseScreen() unwraps its wrapped screen functions and tears down EXA's
|
* exaCloseScreen() unwraps its wrapped screen functions and tears down EXA's
|
||||||
* screen private, before calling down to the next CloseSccreen.
|
* screen private, before calling down to the next CloseSccreen.
|
||||||
|
@ -1063,6 +1107,10 @@ exaCloseScreen(int i, ScreenPtr pScreen)
|
||||||
if (ps->Glyphs == exaGlyphs)
|
if (ps->Glyphs == exaGlyphs)
|
||||||
exaGlyphsFini(pScreen);
|
exaGlyphsFini(pScreen);
|
||||||
|
|
||||||
|
if (pScreen->BlockHandler == ExaBlockHandler)
|
||||||
|
unwrap(pExaScr, pScreen, BlockHandler);
|
||||||
|
if (pScreen->WakeupHandler == ExaWakeupHandler)
|
||||||
|
unwrap(pExaScr, pScreen, WakeupHandler);
|
||||||
unwrap(pExaScr, pScreen, CreateGC);
|
unwrap(pExaScr, pScreen, CreateGC);
|
||||||
unwrap(pExaScr, pScreen, CloseScreen);
|
unwrap(pExaScr, pScreen, CloseScreen);
|
||||||
unwrap(pExaScr, pScreen, GetImage);
|
unwrap(pExaScr, pScreen, GetImage);
|
||||||
|
@ -1223,6 +1271,11 @@ exaDriverInit (ScreenPtr pScreen,
|
||||||
/*
|
/*
|
||||||
* Replace various fb screen functions
|
* Replace various fb screen functions
|
||||||
*/
|
*/
|
||||||
|
if ((pExaScr->info->flags & EXA_OFFSCREEN_PIXMAPS) &&
|
||||||
|
!(pExaScr->info->flags & EXA_HANDLES_PIXMAPS)) {
|
||||||
|
wrap(pExaScr, pScreen, BlockHandler, ExaBlockHandler);
|
||||||
|
wrap(pExaScr, pScreen, WakeupHandler, ExaWakeupHandler);
|
||||||
|
}
|
||||||
wrap(pExaScr, pScreen, CreateGC, exaCreateGC);
|
wrap(pExaScr, pScreen, CreateGC, exaCreateGC);
|
||||||
wrap(pExaScr, pScreen, CloseScreen, exaCloseScreen);
|
wrap(pExaScr, pScreen, CloseScreen, exaCloseScreen);
|
||||||
wrap(pExaScr, pScreen, GetImage, exaGetImage);
|
wrap(pExaScr, pScreen, GetImage, exaGetImage);
|
||||||
|
|
13
exa/exa.h
13
exa/exa.h
|
@ -66,6 +66,9 @@ struct _ExaOffscreenArea {
|
||||||
ExaOffscreenArea *next;
|
ExaOffscreenArea *next;
|
||||||
|
|
||||||
unsigned eviction_cost;
|
unsigned eviction_cost;
|
||||||
|
|
||||||
|
ExaOffscreenArea *prev; /* Double-linked list for defragmentation */
|
||||||
|
int align; /* required alignment */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -744,6 +747,16 @@ typedef struct _ExaDriver {
|
||||||
*/
|
*/
|
||||||
#define EXA_SUPPORTS_PREPARE_AUX (1 << 4)
|
#define EXA_SUPPORTS_PREPARE_AUX (1 << 4)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* EXA_SUPPORTS_OFFSCREEN_OVERLAPS indicates to EXA that the driver Copy hooks
|
||||||
|
* can handle the source and destination occupying overlapping offscreen memory
|
||||||
|
* areas. This allows the offscreen memory defragmentation code to defragment
|
||||||
|
* areas where the defragmented position overlaps the fragmented position.
|
||||||
|
*
|
||||||
|
* Typically this is supported by traditional 2D engines but not by 3D engines.
|
||||||
|
*/
|
||||||
|
#define EXA_SUPPORTS_OFFSCREEN_OVERLAPS (1 << 5)
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/* in exa.c */
|
/* in exa.c */
|
||||||
|
|
|
@ -406,7 +406,8 @@ exaHWCopyNtoN (DrawablePtr pSrcDrawable,
|
||||||
xfree(rects);
|
xfree(rects);
|
||||||
|
|
||||||
if (!pGC || !exaGCReadsDestination(pDstDrawable, pGC->planemask,
|
if (!pGC || !exaGCReadsDestination(pDstDrawable, pGC->planemask,
|
||||||
pGC->fillStyle, pGC->alu)) {
|
pGC->fillStyle, pGC->alu,
|
||||||
|
pGC->clientClipType)) {
|
||||||
dstregion = REGION_CREATE(pScreen, NullBox, 0);
|
dstregion = REGION_CREATE(pScreen, NullBox, 0);
|
||||||
REGION_COPY(pScreen, dstregion, srcregion);
|
REGION_COPY(pScreen, dstregion, srcregion);
|
||||||
REGION_TRANSLATE(pScreen, dstregion, dst_off_x - dx - src_off_x,
|
REGION_TRANSLATE(pScreen, dstregion, dst_off_x - dx - src_off_x,
|
||||||
|
@ -734,7 +735,8 @@ exaPolySegment (DrawablePtr pDrawable, GCPtr pGC, int nseg,
|
||||||
}
|
}
|
||||||
|
|
||||||
static Bool exaFillRegionSolid (DrawablePtr pDrawable, RegionPtr pRegion,
|
static Bool exaFillRegionSolid (DrawablePtr pDrawable, RegionPtr pRegion,
|
||||||
Pixel pixel, CARD32 planemask, CARD32 alu);
|
Pixel pixel, CARD32 planemask, CARD32 alu,
|
||||||
|
unsigned int clientClipType);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
exaPolyFillRect(DrawablePtr pDrawable,
|
exaPolyFillRect(DrawablePtr pDrawable,
|
||||||
|
@ -787,10 +789,11 @@ exaPolyFillRect(DrawablePtr pDrawable,
|
||||||
if (((pGC->fillStyle == FillSolid || pGC->tileIsPixel) &&
|
if (((pGC->fillStyle == FillSolid || pGC->tileIsPixel) &&
|
||||||
exaFillRegionSolid(pDrawable, pReg, pGC->fillStyle == FillSolid ?
|
exaFillRegionSolid(pDrawable, pReg, pGC->fillStyle == FillSolid ?
|
||||||
pGC->fgPixel : pGC->tile.pixel, pGC->planemask,
|
pGC->fgPixel : pGC->tile.pixel, pGC->planemask,
|
||||||
pGC->alu)) ||
|
pGC->alu, pGC->clientClipType)) ||
|
||||||
(pGC->fillStyle == FillTiled && !pGC->tileIsPixel &&
|
(pGC->fillStyle == FillTiled && !pGC->tileIsPixel &&
|
||||||
exaFillRegionTiled(pDrawable, pReg, pGC->tile.pixmap, &pGC->patOrg,
|
exaFillRegionTiled(pDrawable, pReg, pGC->tile.pixmap, &pGC->patOrg,
|
||||||
pGC->planemask, pGC->alu))) {
|
pGC->planemask, pGC->alu,
|
||||||
|
pGC->clientClipType))) {
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -952,11 +955,8 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
|
||||||
}
|
}
|
||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
exaFillRegionSolid (DrawablePtr pDrawable,
|
exaFillRegionSolid (DrawablePtr pDrawable, RegionPtr pRegion, Pixel pixel,
|
||||||
RegionPtr pRegion,
|
CARD32 planemask, CARD32 alu, unsigned int clientClipType)
|
||||||
Pixel pixel,
|
|
||||||
CARD32 planemask,
|
|
||||||
CARD32 alu)
|
|
||||||
{
|
{
|
||||||
ExaScreenPriv(pDrawable->pScreen);
|
ExaScreenPriv(pDrawable->pScreen);
|
||||||
PixmapPtr pPixmap = exaGetDrawablePixmap (pDrawable);
|
PixmapPtr pPixmap = exaGetDrawablePixmap (pDrawable);
|
||||||
|
@ -969,7 +969,8 @@ exaFillRegionSolid (DrawablePtr pDrawable,
|
||||||
pixmaps[0].as_src = FALSE;
|
pixmaps[0].as_src = FALSE;
|
||||||
pixmaps[0].pPix = pPixmap;
|
pixmaps[0].pPix = pPixmap;
|
||||||
pixmaps[0].pReg = exaGCReadsDestination(pDrawable, planemask, FillSolid,
|
pixmaps[0].pReg = exaGCReadsDestination(pDrawable, planemask, FillSolid,
|
||||||
alu) ? NULL : pRegion;
|
alu, clientClipType)
|
||||||
|
? NULL : pRegion;
|
||||||
|
|
||||||
exaGetDrawableDeltas(pDrawable, pPixmap, &xoff, &yoff);
|
exaGetDrawableDeltas(pDrawable, pPixmap, &xoff, &yoff);
|
||||||
REGION_TRANSLATE(pScreen, pRegion, xoff, yoff);
|
REGION_TRANSLATE(pScreen, pRegion, xoff, yoff);
|
||||||
|
@ -1032,12 +1033,9 @@ out:
|
||||||
* Based on fbFillRegionTiled(), fbTile().
|
* Based on fbFillRegionTiled(), fbTile().
|
||||||
*/
|
*/
|
||||||
Bool
|
Bool
|
||||||
exaFillRegionTiled (DrawablePtr pDrawable,
|
exaFillRegionTiled (DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile,
|
||||||
RegionPtr pRegion,
|
DDXPointPtr pPatOrg, CARD32 planemask, CARD32 alu,
|
||||||
PixmapPtr pTile,
|
unsigned int clientClipType)
|
||||||
DDXPointPtr pPatOrg,
|
|
||||||
CARD32 planemask,
|
|
||||||
CARD32 alu)
|
|
||||||
{
|
{
|
||||||
ExaScreenPriv(pDrawable->pScreen);
|
ExaScreenPriv(pDrawable->pScreen);
|
||||||
PixmapPtr pPixmap;
|
PixmapPtr pPixmap;
|
||||||
|
@ -1060,13 +1058,14 @@ exaFillRegionTiled (DrawablePtr pDrawable,
|
||||||
if (tileWidth == 1 && tileHeight == 1)
|
if (tileWidth == 1 && tileHeight == 1)
|
||||||
return exaFillRegionSolid(pDrawable, pRegion,
|
return exaFillRegionSolid(pDrawable, pRegion,
|
||||||
exaGetPixmapFirstPixel (pTile), planemask,
|
exaGetPixmapFirstPixel (pTile), planemask,
|
||||||
alu);
|
alu, clientClipType);
|
||||||
|
|
||||||
pixmaps[0].as_dst = TRUE;
|
pixmaps[0].as_dst = TRUE;
|
||||||
pixmaps[0].as_src = FALSE;
|
pixmaps[0].as_src = FALSE;
|
||||||
pixmaps[0].pPix = pPixmap = exaGetDrawablePixmap (pDrawable);
|
pixmaps[0].pPix = pPixmap = exaGetDrawablePixmap (pDrawable);
|
||||||
pixmaps[0].pReg = exaGCReadsDestination(pDrawable, planemask, FillTiled,
|
pixmaps[0].pReg = exaGCReadsDestination(pDrawable, planemask, FillTiled,
|
||||||
alu) ? NULL : pRegion;
|
alu, clientClipType)
|
||||||
|
? NULL : pRegion;
|
||||||
pixmaps[1].as_dst = FALSE;
|
pixmaps[1].as_dst = FALSE;
|
||||||
pixmaps[1].as_src = TRUE;
|
pixmaps[1].as_src = TRUE;
|
||||||
pixmaps[1].pPix = pTile;
|
pixmaps[1].pPix = pTile;
|
||||||
|
|
|
@ -354,8 +354,14 @@ exaGlyphCacheHashRemove(ExaGlyphCachePtr cache,
|
||||||
* is to use the UploadToScreen() driver hook; this allows us to
|
* is to use the UploadToScreen() driver hook; this allows us to
|
||||||
* pipeline glyph uploads and to avoid creating offscreen pixmaps for
|
* pipeline glyph uploads and to avoid creating offscreen pixmaps for
|
||||||
* glyphs that we'll never use again.
|
* glyphs that we'll never use again.
|
||||||
|
*
|
||||||
|
* If we can't do it with UploadToScreen (because the glyph is offscreen, etc),
|
||||||
|
* we fall back to CompositePicture.
|
||||||
|
*
|
||||||
|
* We need to damage the cache pixmap manually in either case because the damage
|
||||||
|
* layer unwrapped the picture screen before calling exaGlyphs.
|
||||||
*/
|
*/
|
||||||
static Bool
|
static void
|
||||||
exaGlyphCacheUploadGlyph(ScreenPtr pScreen,
|
exaGlyphCacheUploadGlyph(ScreenPtr pScreen,
|
||||||
ExaGlyphCachePtr cache,
|
ExaGlyphCachePtr cache,
|
||||||
int pos,
|
int pos,
|
||||||
|
@ -369,16 +375,16 @@ exaGlyphCacheUploadGlyph(ScreenPtr pScreen,
|
||||||
ExaMigrationRec pixmaps[1];
|
ExaMigrationRec pixmaps[1];
|
||||||
|
|
||||||
if (!pExaScr->info->UploadToScreen || pExaScr->swappedOut || pExaPixmap->accel_blocked)
|
if (!pExaScr->info->UploadToScreen || pExaScr->swappedOut || pExaPixmap->accel_blocked)
|
||||||
return FALSE;
|
goto composite;
|
||||||
|
|
||||||
/* If the glyph pixmap is already uploaded, no point in doing
|
/* If the glyph pixmap is already uploaded, no point in doing
|
||||||
* things this way */
|
* things this way */
|
||||||
if (exaPixmapIsOffscreen(pGlyphPixmap))
|
if (exaPixmapIsOffscreen(pGlyphPixmap))
|
||||||
return FALSE;
|
goto composite;
|
||||||
|
|
||||||
/* UploadToScreen only works if bpp match */
|
/* UploadToScreen only works if bpp match */
|
||||||
if (pGlyphPixmap->drawable.bitsPerPixel != pCachePixmap->drawable.bitsPerPixel)
|
if (pGlyphPixmap->drawable.bitsPerPixel != pCachePixmap->drawable.bitsPerPixel)
|
||||||
return FALSE;
|
goto composite;
|
||||||
|
|
||||||
/* cache pixmap must be offscreen. */
|
/* cache pixmap must be offscreen. */
|
||||||
pixmaps[0].as_dst = TRUE;
|
pixmaps[0].as_dst = TRUE;
|
||||||
|
@ -388,26 +394,37 @@ exaGlyphCacheUploadGlyph(ScreenPtr pScreen,
|
||||||
exaDoMigration (pixmaps, 1, TRUE);
|
exaDoMigration (pixmaps, 1, TRUE);
|
||||||
|
|
||||||
if (!exaPixmapIsOffscreen(pCachePixmap))
|
if (!exaPixmapIsOffscreen(pCachePixmap))
|
||||||
return FALSE;
|
goto composite;
|
||||||
|
|
||||||
/* CACHE_{X,Y} are in pixmap coordinates, no need for cache{X,Y}off */
|
/* CACHE_{X,Y} are in pixmap coordinates, no need for cache{X,Y}off */
|
||||||
if (!pExaScr->info->UploadToScreen(pCachePixmap,
|
if (pExaScr->info->UploadToScreen(pCachePixmap,
|
||||||
CACHE_X(pos),
|
CACHE_X(pos),
|
||||||
CACHE_Y(pos),
|
CACHE_Y(pos),
|
||||||
pGlyph->info.width,
|
pGlyph->info.width,
|
||||||
pGlyph->info.height,
|
pGlyph->info.height,
|
||||||
(char *)pExaPixmap->sys_ptr,
|
(char *)pExaPixmap->sys_ptr,
|
||||||
pExaPixmap->sys_pitch))
|
pExaPixmap->sys_pitch))
|
||||||
return FALSE;
|
goto damage;
|
||||||
|
|
||||||
/* This pixmap should never be bound to a window, so no need to offset coordinates. */
|
composite:
|
||||||
|
CompositePicture (PictOpSrc,
|
||||||
|
pGlyphPicture,
|
||||||
|
None,
|
||||||
|
cache->picture,
|
||||||
|
0, 0,
|
||||||
|
0, 0,
|
||||||
|
CACHE_X(pos),
|
||||||
|
CACHE_Y(pos),
|
||||||
|
pGlyph->info.width,
|
||||||
|
pGlyph->info.height);
|
||||||
|
|
||||||
|
damage:
|
||||||
|
/* The cache pixmap isn't a window, so no need to offset coordinates. */
|
||||||
exaPixmapDirty (pCachePixmap,
|
exaPixmapDirty (pCachePixmap,
|
||||||
CACHE_X(pos),
|
CACHE_X(pos),
|
||||||
CACHE_Y(pos),
|
CACHE_Y(pos),
|
||||||
CACHE_X(pos) + pGlyph->info.width,
|
CACHE_X(pos) + cache->glyphWidth,
|
||||||
CACHE_Y(pos) + pGlyph->info.height);
|
CACHE_Y(pos) + cache->glyphHeight);
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static ExaGlyphCacheResult
|
static ExaGlyphCacheResult
|
||||||
|
@ -483,23 +500,7 @@ exaGlyphCacheBufferGlyph(ScreenPtr pScreen,
|
||||||
cache->evictionPosition = rand() % cache->size;
|
cache->evictionPosition = rand() % cache->size;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Now actually upload the glyph into the cache picture; if
|
exaGlyphCacheUploadGlyph(pScreen, cache, pos, pGlyph);
|
||||||
* we can't do it with UploadToScreen (because the glyph is
|
|
||||||
* offscreen, etc), we fall back to CompositePicture.
|
|
||||||
*/
|
|
||||||
if (!exaGlyphCacheUploadGlyph(pScreen, cache, pos, pGlyph)) {
|
|
||||||
CompositePicture (PictOpSrc,
|
|
||||||
GlyphPicture(pGlyph)[pScreen->myNum],
|
|
||||||
None,
|
|
||||||
cache->picture,
|
|
||||||
0, 0,
|
|
||||||
0, 0,
|
|
||||||
CACHE_X(pos),
|
|
||||||
CACHE_Y(pos),
|
|
||||||
pGlyph->info.width,
|
|
||||||
pGlyph->info.height);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer->mask = cache->picture;
|
buffer->mask = cache->picture;
|
||||||
|
|
|
@ -93,7 +93,7 @@ exaFindAreaToEvict(ExaScreenPrivPtr pExaScr, int size, int align)
|
||||||
{
|
{
|
||||||
ExaOffscreenArea *begin, *end, *best;
|
ExaOffscreenArea *begin, *end, *best;
|
||||||
unsigned cost, best_cost;
|
unsigned cost, best_cost;
|
||||||
int avail, real_size, tmp;
|
int avail, real_size;
|
||||||
|
|
||||||
best_cost = UINT_MAX;
|
best_cost = UINT_MAX;
|
||||||
begin = end = pExaScr->info->offScreenAreas;
|
begin = end = pExaScr->info->offScreenAreas;
|
||||||
|
@ -111,10 +111,7 @@ exaFindAreaToEvict(ExaScreenPrivPtr pExaScr, int size, int align)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* adjust size needed to account for alignment loss for this area */
|
/* adjust size needed to account for alignment loss for this area */
|
||||||
real_size = size;
|
real_size = size + (begin->base_offset + begin->size - size) % align;
|
||||||
tmp = begin->base_offset % align;
|
|
||||||
if (tmp)
|
|
||||||
real_size += (align - tmp);
|
|
||||||
|
|
||||||
while (avail < real_size && end != NULL)
|
while (avail < real_size && end != NULL)
|
||||||
{
|
{
|
||||||
|
@ -172,7 +169,7 @@ exaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
|
||||||
{
|
{
|
||||||
ExaOffscreenArea *area;
|
ExaOffscreenArea *area;
|
||||||
ExaScreenPriv (pScreen);
|
ExaScreenPriv (pScreen);
|
||||||
int tmp, real_size = 0;
|
int real_size = 0, free_total = 0, largest_avail = 0;
|
||||||
#if DEBUG_OFFSCREEN
|
#if DEBUG_OFFSCREEN
|
||||||
static int number = 0;
|
static int number = 0;
|
||||||
ErrorF("================= ============ allocating a new pixmap %d\n", ++number);
|
ErrorF("================= ============ allocating a new pixmap %d\n", ++number);
|
||||||
|
@ -205,14 +202,37 @@ exaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* adjust size to match alignment requirement */
|
/* adjust size to match alignment requirement */
|
||||||
real_size = size;
|
real_size = size + (area->base_offset + area->size - size) % align;
|
||||||
tmp = area->base_offset % align;
|
|
||||||
if (tmp)
|
|
||||||
real_size += (align - tmp);
|
|
||||||
|
|
||||||
/* does it fit? */
|
/* does it fit? */
|
||||||
if (real_size <= area->size)
|
if (real_size <= area->size)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
free_total += area->size;
|
||||||
|
|
||||||
|
if (area->size > largest_avail)
|
||||||
|
largest_avail = area->size;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!area && free_total >= size) {
|
||||||
|
CARD32 now = GetTimeInMillis();
|
||||||
|
|
||||||
|
/* Don't defragment more than once per second, to avoid adding more
|
||||||
|
* overhead than we're trying to prevent
|
||||||
|
*/
|
||||||
|
if (abs((INT32) (now - pExaScr->lastDefragment)) > 1000) {
|
||||||
|
area = ExaOffscreenDefragment(pScreen);
|
||||||
|
pExaScr->lastDefragment = now;
|
||||||
|
|
||||||
|
if (area) {
|
||||||
|
/* adjust size to match alignment requirement */
|
||||||
|
real_size = size + (area->base_offset + area->size - size) % align;
|
||||||
|
|
||||||
|
/* does it fit? */
|
||||||
|
if (real_size > area->size)
|
||||||
|
area = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!area)
|
if (!area)
|
||||||
|
@ -228,10 +248,7 @@ exaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* adjust size needed to account for alignment loss for this area */
|
/* adjust size needed to account for alignment loss for this area */
|
||||||
real_size = size;
|
real_size = size + (area->base_offset + area->size - size) % align;
|
||||||
tmp = area->base_offset % align;
|
|
||||||
if (tmp)
|
|
||||||
real_size += (align - tmp);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Kick out first area if in use
|
* Kick out first area if in use
|
||||||
|
@ -254,17 +271,27 @@ exaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
|
||||||
ExaOffscreenArea *new_area = xalloc (sizeof (ExaOffscreenArea));
|
ExaOffscreenArea *new_area = xalloc (sizeof (ExaOffscreenArea));
|
||||||
if (!new_area)
|
if (!new_area)
|
||||||
return NULL;
|
return NULL;
|
||||||
new_area->base_offset = area->base_offset + real_size;
|
new_area->base_offset = area->base_offset;
|
||||||
|
|
||||||
new_area->offset = new_area->base_offset;
|
new_area->offset = new_area->base_offset;
|
||||||
|
new_area->align = 0;
|
||||||
new_area->size = area->size - real_size;
|
new_area->size = area->size - real_size;
|
||||||
new_area->state = ExaOffscreenAvail;
|
new_area->state = ExaOffscreenAvail;
|
||||||
new_area->save = NULL;
|
new_area->save = NULL;
|
||||||
new_area->last_use = 0;
|
new_area->last_use = 0;
|
||||||
new_area->eviction_cost = 0;
|
new_area->eviction_cost = 0;
|
||||||
new_area->next = area->next;
|
new_area->next = area;
|
||||||
area->next = new_area;
|
new_area->prev = area->prev;
|
||||||
|
if (area->prev->next)
|
||||||
|
area->prev->next = new_area;
|
||||||
|
else
|
||||||
|
pExaScr->info->offScreenAreas = new_area;
|
||||||
|
area->prev = new_area;
|
||||||
|
area->base_offset = new_area->base_offset + new_area->size;
|
||||||
area->size = real_size;
|
area->size = real_size;
|
||||||
}
|
} else
|
||||||
|
pExaScr->numOffscreenAvailable--;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mark this area as in use
|
* Mark this area as in use
|
||||||
*/
|
*/
|
||||||
|
@ -277,6 +304,7 @@ exaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
|
||||||
area->last_use = pExaScr->offScreenCounter++;
|
area->last_use = pExaScr->offScreenCounter++;
|
||||||
area->offset = (area->base_offset + align - 1);
|
area->offset = (area->base_offset + align - 1);
|
||||||
area->offset -= area->offset % align;
|
area->offset -= area->offset % align;
|
||||||
|
area->align = align;
|
||||||
|
|
||||||
ExaOffscreenValidate (pScreen);
|
ExaOffscreenValidate (pScreen);
|
||||||
|
|
||||||
|
@ -391,7 +419,7 @@ exaEnableDisableFBAccess (int index, Bool enable)
|
||||||
|
|
||||||
/* merge the next free area into this one */
|
/* merge the next free area into this one */
|
||||||
static void
|
static void
|
||||||
ExaOffscreenMerge (ExaOffscreenArea *area)
|
ExaOffscreenMerge (ExaScreenPrivPtr pExaScr, ExaOffscreenArea *area)
|
||||||
{
|
{
|
||||||
ExaOffscreenArea *next = area->next;
|
ExaOffscreenArea *next = area->next;
|
||||||
|
|
||||||
|
@ -399,7 +427,13 @@ ExaOffscreenMerge (ExaOffscreenArea *area)
|
||||||
area->size += next->size;
|
area->size += next->size;
|
||||||
/* frob pointer */
|
/* frob pointer */
|
||||||
area->next = next->next;
|
area->next = next->next;
|
||||||
|
if (area->next)
|
||||||
|
area->next->prev = area;
|
||||||
|
else
|
||||||
|
pExaScr->info->offScreenAreas->prev = area;
|
||||||
xfree (next);
|
xfree (next);
|
||||||
|
|
||||||
|
pExaScr->numOffscreenAvailable--;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -436,19 +470,19 @@ exaOffscreenFree (ScreenPtr pScreen, ExaOffscreenArea *area)
|
||||||
if (area == pExaScr->info->offScreenAreas)
|
if (area == pExaScr->info->offScreenAreas)
|
||||||
prev = NULL;
|
prev = NULL;
|
||||||
else
|
else
|
||||||
for (prev = pExaScr->info->offScreenAreas; prev; prev = prev->next)
|
prev = area->prev;
|
||||||
if (prev->next == area)
|
|
||||||
break;
|
pExaScr->numOffscreenAvailable++;
|
||||||
|
|
||||||
/* link with next area if free */
|
/* link with next area if free */
|
||||||
if (next && next->state == ExaOffscreenAvail)
|
if (next && next->state == ExaOffscreenAvail)
|
||||||
ExaOffscreenMerge (area);
|
ExaOffscreenMerge (pExaScr, area);
|
||||||
|
|
||||||
/* link with prev area if free */
|
/* link with prev area if free */
|
||||||
if (prev && prev->state == ExaOffscreenAvail)
|
if (prev && prev->state == ExaOffscreenAvail)
|
||||||
{
|
{
|
||||||
area = prev;
|
area = prev;
|
||||||
ExaOffscreenMerge (area);
|
ExaOffscreenMerge (pExaScr, area);
|
||||||
}
|
}
|
||||||
|
|
||||||
ExaOffscreenValidate (pScreen);
|
ExaOffscreenValidate (pScreen);
|
||||||
|
@ -468,6 +502,167 @@ ExaOffscreenMarkUsed (PixmapPtr pPixmap)
|
||||||
pExaPixmap->area->last_use = pExaScr->offScreenCounter++;
|
pExaPixmap->area->last_use = pExaScr->offScreenCounter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defragment offscreen memory by compacting allocated areas at the end of it,
|
||||||
|
* leaving the total amount of memory available as a single area at the
|
||||||
|
* beginning (when there are no pinned allocations).
|
||||||
|
*/
|
||||||
|
_X_HIDDEN ExaOffscreenArea*
|
||||||
|
ExaOffscreenDefragment (ScreenPtr pScreen)
|
||||||
|
{
|
||||||
|
ExaScreenPriv (pScreen);
|
||||||
|
ExaOffscreenArea *area, *largest_available = NULL;
|
||||||
|
int largest_size = 0;
|
||||||
|
PixmapPtr pDstPix;
|
||||||
|
ExaPixmapPrivPtr pExaDstPix;
|
||||||
|
|
||||||
|
pDstPix = (*pScreen->CreatePixmap) (pScreen, 0, 0, 0, 0);
|
||||||
|
|
||||||
|
if (!pDstPix)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
pExaDstPix = ExaGetPixmapPriv (pDstPix);
|
||||||
|
pExaDstPix->offscreen = TRUE;
|
||||||
|
|
||||||
|
for (area = pExaScr->info->offScreenAreas->prev;
|
||||||
|
area != pExaScr->info->offScreenAreas;
|
||||||
|
)
|
||||||
|
{
|
||||||
|
ExaOffscreenArea *prev = area->prev;
|
||||||
|
PixmapPtr pSrcPix;
|
||||||
|
ExaPixmapPrivPtr pExaSrcPix;
|
||||||
|
Bool save_offscreen;
|
||||||
|
int save_pitch;
|
||||||
|
|
||||||
|
if (area->state != ExaOffscreenAvail ||
|
||||||
|
prev->state == ExaOffscreenLocked ||
|
||||||
|
(prev->state == ExaOffscreenRemovable &&
|
||||||
|
prev->save != exaPixmapSave)) {
|
||||||
|
area = prev;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (prev->state == ExaOffscreenAvail) {
|
||||||
|
if (area == largest_available) {
|
||||||
|
largest_available = prev;
|
||||||
|
largest_size += prev->size;
|
||||||
|
}
|
||||||
|
area = prev;
|
||||||
|
ExaOffscreenMerge (pExaScr, area);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (area->size > largest_size) {
|
||||||
|
largest_available = area;
|
||||||
|
largest_size = area->size;
|
||||||
|
}
|
||||||
|
|
||||||
|
pSrcPix = prev->privData;
|
||||||
|
pExaSrcPix = ExaGetPixmapPriv (pSrcPix);
|
||||||
|
|
||||||
|
pExaDstPix->fb_ptr = pExaScr->info->memoryBase +
|
||||||
|
area->base_offset + area->size - prev->size + prev->base_offset -
|
||||||
|
prev->offset;
|
||||||
|
pExaDstPix->fb_ptr -= (unsigned long)pExaDstPix->fb_ptr % prev->align;
|
||||||
|
|
||||||
|
if (pExaDstPix->fb_ptr <= pExaSrcPix->fb_ptr) {
|
||||||
|
area = prev;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(pExaScr->info->flags & EXA_SUPPORTS_OFFSCREEN_OVERLAPS) &&
|
||||||
|
(pExaSrcPix->fb_ptr + prev->size) > pExaDstPix->fb_ptr) {
|
||||||
|
area = prev;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
save_offscreen = pExaSrcPix->offscreen;
|
||||||
|
save_pitch = pSrcPix->devKind;
|
||||||
|
|
||||||
|
pExaSrcPix->offscreen = TRUE;
|
||||||
|
pSrcPix->devKind = pExaSrcPix->fb_pitch;
|
||||||
|
|
||||||
|
pDstPix->drawable.width = pSrcPix->drawable.width;
|
||||||
|
pDstPix->devKind = pSrcPix->devKind;
|
||||||
|
pDstPix->drawable.height = pSrcPix->drawable.height;
|
||||||
|
pDstPix->drawable.depth = pSrcPix->drawable.depth;
|
||||||
|
pDstPix->drawable.bitsPerPixel = pSrcPix->drawable.bitsPerPixel;
|
||||||
|
|
||||||
|
if (!pExaScr->info->PrepareCopy (pSrcPix, pDstPix, -1, -1, GXcopy, ~0)) {
|
||||||
|
pExaSrcPix->offscreen = save_offscreen;
|
||||||
|
pSrcPix->devKind = save_pitch;
|
||||||
|
area = prev;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
pExaScr->info->Copy (pDstPix, 0, 0, 0, 0, pDstPix->drawable.width,
|
||||||
|
pDstPix->drawable.height);
|
||||||
|
pExaScr->info->DoneCopy (pDstPix);
|
||||||
|
exaMarkSync (pScreen);
|
||||||
|
|
||||||
|
DBG_OFFSCREEN(("Before swap: prev=0x%08x-0x%08x-0x%08x area=0x%08x-0x%08x-0x%08x\n",
|
||||||
|
prev->base_offset, prev->offset, prev->base_offset + prev->size,
|
||||||
|
area->base_offset, area->offset, area->base_offset + area->size));
|
||||||
|
|
||||||
|
/* Calculate swapped area offsets and sizes */
|
||||||
|
area->base_offset = prev->base_offset;
|
||||||
|
area->offset = area->base_offset;
|
||||||
|
prev->offset += pExaDstPix->fb_ptr - pExaSrcPix->fb_ptr;
|
||||||
|
assert(prev->offset >= pExaScr->info->offScreenBase &&
|
||||||
|
prev->offset < pExaScr->info->memorySize);
|
||||||
|
prev->base_offset = prev->offset;
|
||||||
|
if (area->next)
|
||||||
|
prev->size = area->next->base_offset - prev->base_offset;
|
||||||
|
else
|
||||||
|
prev->size = pExaScr->info->memorySize - prev->base_offset;
|
||||||
|
area->size = prev->base_offset - area->base_offset;
|
||||||
|
|
||||||
|
DBG_OFFSCREEN(("After swap: area=0x%08x-0x%08x-0x%08x prev=0x%08x-0x%08x-0x%08x\n",
|
||||||
|
area->base_offset, area->offset, area->base_offset + area->size,
|
||||||
|
prev->base_offset, prev->offset, prev->base_offset + prev->size));
|
||||||
|
|
||||||
|
/* Swap areas in list */
|
||||||
|
if (area->next)
|
||||||
|
area->next->prev = prev;
|
||||||
|
else
|
||||||
|
pExaScr->info->offScreenAreas->prev = prev;
|
||||||
|
if (prev->prev->next)
|
||||||
|
prev->prev->next = area;
|
||||||
|
else
|
||||||
|
pExaScr->info->offScreenAreas = area;
|
||||||
|
prev->next = area->next;
|
||||||
|
area->next = prev;
|
||||||
|
area->prev = prev->prev;
|
||||||
|
prev->prev = area;
|
||||||
|
if (!area->prev->next)
|
||||||
|
pExaScr->info->offScreenAreas = area;
|
||||||
|
|
||||||
|
#if DEBUG_OFFSCREEN
|
||||||
|
if (prev->prev == prev || prev->next == prev)
|
||||||
|
ErrorF("Whoops, prev points to itself!\n");
|
||||||
|
|
||||||
|
if (area->prev == area || area->next == area)
|
||||||
|
ErrorF("Whoops, area points to itself!\n");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
pExaSrcPix->fb_ptr = pExaDstPix->fb_ptr;
|
||||||
|
pExaSrcPix->offscreen = save_offscreen;
|
||||||
|
pSrcPix->devKind = save_pitch;
|
||||||
|
}
|
||||||
|
|
||||||
|
pDstPix->drawable.width = 0;
|
||||||
|
pDstPix->drawable.height = 0;
|
||||||
|
pDstPix->drawable.depth = 0;
|
||||||
|
pDstPix->drawable.bitsPerPixel = 0;
|
||||||
|
|
||||||
|
(*pScreen->DestroyPixmap) (pDstPix);
|
||||||
|
|
||||||
|
if (area->state == ExaOffscreenAvail && area->size > largest_size)
|
||||||
|
return area;
|
||||||
|
|
||||||
|
return largest_available;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* exaOffscreenInit initializes the offscreen memory manager.
|
* exaOffscreenInit initializes the offscreen memory manager.
|
||||||
*
|
*
|
||||||
|
@ -491,15 +686,18 @@ exaOffscreenInit (ScreenPtr pScreen)
|
||||||
area->state = ExaOffscreenAvail;
|
area->state = ExaOffscreenAvail;
|
||||||
area->base_offset = pExaScr->info->offScreenBase;
|
area->base_offset = pExaScr->info->offScreenBase;
|
||||||
area->offset = area->base_offset;
|
area->offset = area->base_offset;
|
||||||
|
area->align = 0;
|
||||||
area->size = pExaScr->info->memorySize - area->base_offset;
|
area->size = pExaScr->info->memorySize - area->base_offset;
|
||||||
area->save = NULL;
|
area->save = NULL;
|
||||||
area->next = NULL;
|
area->next = NULL;
|
||||||
|
area->prev = area;
|
||||||
area->last_use = 0;
|
area->last_use = 0;
|
||||||
area->eviction_cost = 0;
|
area->eviction_cost = 0;
|
||||||
|
|
||||||
/* Add it to the free areas */
|
/* Add it to the free areas */
|
||||||
pExaScr->info->offScreenAreas = area;
|
pExaScr->info->offScreenAreas = area;
|
||||||
pExaScr->offScreenCounter = 1;
|
pExaScr->offScreenCounter = 1;
|
||||||
|
pExaScr->numOffscreenAvailable = 1;
|
||||||
|
|
||||||
ExaOffscreenValidate (pScreen);
|
ExaOffscreenValidate (pScreen);
|
||||||
|
|
||||||
|
|
|
@ -145,6 +145,8 @@ typedef struct {
|
||||||
typedef void (*EnableDisableFBAccessProcPtr)(int, Bool);
|
typedef void (*EnableDisableFBAccessProcPtr)(int, Bool);
|
||||||
typedef struct {
|
typedef struct {
|
||||||
ExaDriverPtr info;
|
ExaDriverPtr info;
|
||||||
|
ScreenBlockHandlerProcPtr SavedBlockHandler;
|
||||||
|
ScreenWakeupHandlerProcPtr SavedWakeupHandler;
|
||||||
CreateGCProcPtr SavedCreateGC;
|
CreateGCProcPtr SavedCreateGC;
|
||||||
CloseScreenProcPtr SavedCloseScreen;
|
CloseScreenProcPtr SavedCloseScreen;
|
||||||
GetImageProcPtr SavedGetImage;
|
GetImageProcPtr SavedGetImage;
|
||||||
|
@ -170,6 +172,9 @@ typedef struct {
|
||||||
unsigned disableFbCount;
|
unsigned disableFbCount;
|
||||||
Bool optimize_migration;
|
Bool optimize_migration;
|
||||||
unsigned offScreenCounter;
|
unsigned offScreenCounter;
|
||||||
|
unsigned numOffscreenAvailable;
|
||||||
|
CARD32 lastDefragment;
|
||||||
|
CARD32 nextDefragment;
|
||||||
|
|
||||||
/* Store all accessed pixmaps, so we can check for duplicates. */
|
/* Store all accessed pixmaps, so we can check for duplicates. */
|
||||||
PixmapPtr prepare_access[6];
|
PixmapPtr prepare_access[6];
|
||||||
|
@ -415,11 +420,12 @@ ExaCheckAddTraps (PicturePtr pPicture,
|
||||||
|
|
||||||
static _X_INLINE Bool
|
static _X_INLINE Bool
|
||||||
exaGCReadsDestination(DrawablePtr pDrawable, unsigned long planemask,
|
exaGCReadsDestination(DrawablePtr pDrawable, unsigned long planemask,
|
||||||
unsigned int fillStyle, unsigned char alu)
|
unsigned int fillStyle, unsigned char alu,
|
||||||
|
unsigned int clientClipType)
|
||||||
{
|
{
|
||||||
return ((alu != GXcopy && alu != GXclear &&alu != GXset &&
|
return ((alu != GXcopy && alu != GXclear && alu != GXset &&
|
||||||
alu != GXcopyInverted) || fillStyle == FillStippled ||
|
alu != GXcopyInverted) || fillStyle == FillStippled ||
|
||||||
!EXA_PM_IS_SOLID(pDrawable, planemask));
|
clientClipType != CT_NONE || !EXA_PM_IS_SOLID(pDrawable, planemask));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -427,7 +433,8 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
exaFillRegionTiled (DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile,
|
exaFillRegionTiled (DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile,
|
||||||
DDXPointPtr pPatOrg, CARD32 planemask, CARD32 alu);
|
DDXPointPtr pPatOrg, CARD32 planemask, CARD32 alu,
|
||||||
|
unsigned int clientClipType);
|
||||||
|
|
||||||
void
|
void
|
||||||
exaGetImage (DrawablePtr pDrawable, int x, int y, int w, int h,
|
exaGetImage (DrawablePtr pDrawable, int x, int y, int w, int h,
|
||||||
|
@ -458,6 +465,9 @@ ExaOffscreenSwapOut (ScreenPtr pScreen);
|
||||||
void
|
void
|
||||||
ExaOffscreenSwapIn (ScreenPtr pScreen);
|
ExaOffscreenSwapIn (ScreenPtr pScreen);
|
||||||
|
|
||||||
|
ExaOffscreenArea*
|
||||||
|
ExaOffscreenDefragment (ScreenPtr pScreen);
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
exaOffscreenInit(ScreenPtr pScreen);
|
exaOffscreenInit(ScreenPtr pScreen);
|
||||||
|
|
||||||
|
|
|
@ -945,7 +945,7 @@ exaComposite(CARD8 op,
|
||||||
|
|
||||||
ret = exaFillRegionTiled(pDst->pDrawable, ®ion,
|
ret = exaFillRegionTiled(pDst->pDrawable, ®ion,
|
||||||
(PixmapPtr)pSrc->pDrawable,
|
(PixmapPtr)pSrc->pDrawable,
|
||||||
&patOrg, FB_ALLONES, GXcopy);
|
&patOrg, FB_ALLONES, GXcopy, CT_NONE);
|
||||||
|
|
||||||
REGION_UNINIT(pDst->pDrawable->pScreen, ®ion);
|
REGION_UNINIT(pDst->pDrawable->pScreen, ®ion);
|
||||||
|
|
||||||
|
|
|
@ -106,7 +106,7 @@ ExaCheckPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth,
|
||||||
EXA_GC_PROLOGUE(pGC);
|
EXA_GC_PROLOGUE(pGC);
|
||||||
EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
|
EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
|
||||||
if (exaGCReadsDestination(pDrawable, pGC->planemask, pGC->fillStyle,
|
if (exaGCReadsDestination(pDrawable, pGC->planemask, pGC->fillStyle,
|
||||||
pGC->alu))
|
pGC->alu, pGC->clientClipType))
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
else
|
else
|
||||||
exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST, pExaPixmap->pDamage ?
|
exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST, pExaPixmap->pDamage ?
|
||||||
|
|
|
@ -85,8 +85,10 @@ fbUninstallColormap(ColormapPtr pmap)
|
||||||
{
|
{
|
||||||
if (pmap->mid != pmap->pScreen->defColormap)
|
if (pmap->mid != pmap->pScreen->defColormap)
|
||||||
{
|
{
|
||||||
curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
|
dixLookupResourceByType((pointer *)&curpmap,
|
||||||
RT_COLORMAP);
|
pmap->pScreen->defColormap,
|
||||||
|
RT_COLORMAP,
|
||||||
|
serverClient, DixInstallAccess);
|
||||||
(*pmap->pScreen->InstallColormap)(curpmap);
|
(*pmap->pScreen->InstallColormap)(curpmap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
24
fb/fbpict.c
24
fb/fbpict.c
|
@ -159,22 +159,9 @@ fbComposite (CARD8 op,
|
||||||
{
|
{
|
||||||
pixman_image_t *src, *mask, *dest;
|
pixman_image_t *src, *mask, *dest;
|
||||||
|
|
||||||
xDst += pDst->pDrawable->x;
|
miCompositeSourceValidate (pSrc, xSrc - xDst, ySrc - yDst, width, height);
|
||||||
yDst += pDst->pDrawable->y;
|
|
||||||
if (pSrc->pDrawable)
|
|
||||||
{
|
|
||||||
xSrc += pSrc->pDrawable->x;
|
|
||||||
ySrc += pSrc->pDrawable->y;
|
|
||||||
}
|
|
||||||
if (pMask && pMask->pDrawable)
|
|
||||||
{
|
|
||||||
xMask += pMask->pDrawable->x;
|
|
||||||
yMask += pMask->pDrawable->y;
|
|
||||||
}
|
|
||||||
|
|
||||||
miCompositeSourceValidate (pSrc, xSrc, ySrc, width, height);
|
|
||||||
if (pMask)
|
if (pMask)
|
||||||
miCompositeSourceValidate (pMask, xMask, yMask, width, height);
|
miCompositeSourceValidate (pMask, xMask - xDst, yMask - yDst, width, height);
|
||||||
|
|
||||||
src = image_from_pict (pSrc, TRUE);
|
src = image_from_pict (pSrc, TRUE);
|
||||||
mask = image_from_pict (pMask, TRUE);
|
mask = image_from_pict (pMask, TRUE);
|
||||||
|
@ -292,7 +279,8 @@ create_bits_picture (PicturePtr pict,
|
||||||
|
|
||||||
fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
|
fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
|
||||||
|
|
||||||
bits = (FbBits*)((CARD8*)bits + yoff * stride * sizeof(FbBits) + xoff * (bpp / 8));
|
bits = (FbBits*)((CARD8*)bits +
|
||||||
|
pict->pDrawable->y * stride * sizeof(FbBits) + pict->pDrawable->x * (bpp / 8));
|
||||||
|
|
||||||
image = pixman_image_create_bits (
|
image = pixman_image_create_bits (
|
||||||
pict->format,
|
pict->format,
|
||||||
|
@ -321,8 +309,12 @@ create_bits_picture (PicturePtr pict,
|
||||||
{
|
{
|
||||||
if (pict->clientClipType != CT_NONE)
|
if (pict->clientClipType != CT_NONE)
|
||||||
pixman_image_set_has_client_clip (image, TRUE);
|
pixman_image_set_has_client_clip (image, TRUE);
|
||||||
|
|
||||||
|
pixman_region_translate (pict->pCompositeClip, - pict->pDrawable->x, - pict->pDrawable->y);
|
||||||
|
|
||||||
pixman_image_set_clip_region (image, pict->pCompositeClip);
|
pixman_image_set_clip_region (image, pict->pCompositeClip);
|
||||||
|
|
||||||
|
pixman_region_translate (pict->pCompositeClip, pict->pDrawable->x, pict->pDrawable->y);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Indexed table */
|
/* Indexed table */
|
||||||
|
|
|
@ -799,8 +799,8 @@ int __glXDisp_WaitX(__GLXclientState *cl, GLbyte *pc)
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (glxc && glxc->drawPriv->waitGL)
|
if (glxc && glxc->drawPriv->waitX)
|
||||||
(*glxc->drawPriv->waitGL)(glxc->drawPriv);
|
(*glxc->drawPriv->waitX)(glxc->drawPriv);
|
||||||
|
|
||||||
return Success;
|
return Success;
|
||||||
}
|
}
|
||||||
|
|
|
@ -406,7 +406,7 @@ dri2GetBuffers(__DRIdrawable *driDrawable,
|
||||||
int *out_count, void *loaderPrivate)
|
int *out_count, void *loaderPrivate)
|
||||||
{
|
{
|
||||||
__GLXDRIdrawable *private = loaderPrivate;
|
__GLXDRIdrawable *private = loaderPrivate;
|
||||||
DRI2BufferPtr buffers;
|
DRI2BufferPtr *buffers;
|
||||||
int i;
|
int i;
|
||||||
int j;
|
int j;
|
||||||
|
|
||||||
|
@ -427,15 +427,59 @@ dri2GetBuffers(__DRIdrawable *driDrawable,
|
||||||
/* Do not send the real front buffer of a window to the client.
|
/* Do not send the real front buffer of a window to the client.
|
||||||
*/
|
*/
|
||||||
if ((private->base.pDraw->type == DRAWABLE_WINDOW)
|
if ((private->base.pDraw->type == DRAWABLE_WINDOW)
|
||||||
&& (buffers[i].attachment == DRI2BufferFrontLeft)) {
|
&& (buffers[i]->attachment == DRI2BufferFrontLeft)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
private->buffers[j].attachment = buffers[i].attachment;
|
private->buffers[j].attachment = buffers[i]->attachment;
|
||||||
private->buffers[j].name = buffers[i].name;
|
private->buffers[j].name = buffers[i]->name;
|
||||||
private->buffers[j].pitch = buffers[i].pitch;
|
private->buffers[j].pitch = buffers[i]->pitch;
|
||||||
private->buffers[j].cpp = buffers[i].cpp;
|
private->buffers[j].cpp = buffers[i]->cpp;
|
||||||
private->buffers[j].flags = buffers[i].flags;
|
private->buffers[j].flags = buffers[i]->flags;
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
|
||||||
|
*out_count = j;
|
||||||
|
return private->buffers;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __DRIbuffer *
|
||||||
|
dri2GetBuffersWithFormat(__DRIdrawable *driDrawable,
|
||||||
|
int *width, int *height,
|
||||||
|
unsigned int *attachments, int count,
|
||||||
|
int *out_count, void *loaderPrivate)
|
||||||
|
{
|
||||||
|
__GLXDRIdrawable *private = loaderPrivate;
|
||||||
|
DRI2BufferPtr *buffers;
|
||||||
|
int i;
|
||||||
|
int j = 0;
|
||||||
|
|
||||||
|
buffers = DRI2GetBuffersWithFormat(private->base.pDraw,
|
||||||
|
width, height, attachments, count,
|
||||||
|
out_count);
|
||||||
|
if (*out_count > MAX_DRAWABLE_BUFFERS) {
|
||||||
|
*out_count = 0;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
private->width = *width;
|
||||||
|
private->height = *height;
|
||||||
|
|
||||||
|
/* This assumes the DRI2 buffer attachment tokens matches the
|
||||||
|
* __DRIbuffer tokens. */
|
||||||
|
for (i = 0; i < *out_count; i++) {
|
||||||
|
/* Do not send the real front buffer of a window to the client.
|
||||||
|
*/
|
||||||
|
if ((private->base.pDraw->type == DRAWABLE_WINDOW)
|
||||||
|
&& (buffers[i]->attachment == DRI2BufferFrontLeft)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
private->buffers[j].attachment = buffers[i]->attachment;
|
||||||
|
private->buffers[j].name = buffers[i]->name;
|
||||||
|
private->buffers[j].pitch = buffers[i]->pitch;
|
||||||
|
private->buffers[j].cpp = buffers[i]->cpp;
|
||||||
|
private->buffers[j].flags = buffers[i]->flags;
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -454,6 +498,7 @@ static const __DRIdri2LoaderExtension loaderExtension = {
|
||||||
{ __DRI_DRI2_LOADER, __DRI_DRI2_LOADER_VERSION },
|
{ __DRI_DRI2_LOADER, __DRI_DRI2_LOADER_VERSION },
|
||||||
dri2GetBuffers,
|
dri2GetBuffers,
|
||||||
dri2FlushFrontBuffer,
|
dri2FlushFrontBuffer,
|
||||||
|
dri2GetBuffersWithFormat,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const __DRIextension *loader_extensions[] = {
|
static const __DRIextension *loader_extensions[] = {
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#include "glxserver.h"
|
#include "glxserver.h"
|
||||||
#include <windowstr.h>
|
#include <windowstr.h>
|
||||||
#include <propertyst.h>
|
#include <propertyst.h>
|
||||||
|
#include <registry.h>
|
||||||
#include "privates.h"
|
#include "privates.h"
|
||||||
#include <os.h>
|
#include <os.h>
|
||||||
#include "g_disptab.h"
|
#include "g_disptab.h"
|
||||||
|
@ -126,6 +127,10 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid)
|
||||||
__GLXcontext *c;
|
__GLXcontext *c;
|
||||||
|
|
||||||
for (c = glxAllContexts; c; c = c->next) {
|
for (c = glxAllContexts; c; c = c->next) {
|
||||||
|
if (c->isCurrent && (c->drawPriv == glxPriv || c->readPriv == glxPriv)) {
|
||||||
|
(*c->loseCurrent)(c);
|
||||||
|
__glXFlushContextCache();
|
||||||
|
}
|
||||||
if (c->drawPriv == glxPriv)
|
if (c->drawPriv == glxPriv)
|
||||||
c->drawPriv = NULL;
|
c->drawPriv = NULL;
|
||||||
if (c->readPriv == glxPriv)
|
if (c->readPriv == glxPriv)
|
||||||
|
@ -313,6 +318,10 @@ void GlxExtensionInit(void)
|
||||||
__glXDrawableRes = CreateNewResourceType((DeleteType)DrawableGone);
|
__glXDrawableRes = CreateNewResourceType((DeleteType)DrawableGone);
|
||||||
__glXSwapBarrierRes = CreateNewResourceType((DeleteType)SwapBarrierGone);
|
__glXSwapBarrierRes = CreateNewResourceType((DeleteType)SwapBarrierGone);
|
||||||
|
|
||||||
|
RegisterResourceName(__glXContextRes, "GLXContext");
|
||||||
|
RegisterResourceName(__glXDrawableRes, "GLXDrawable");
|
||||||
|
RegisterResourceName(__glXSwapBarrierRes, "GLXSwapBarrier");
|
||||||
|
|
||||||
if (!dixRequestPrivate(glxClientPrivateKey, sizeof (__GLXclientState)))
|
if (!dixRequestPrivate(glxClientPrivateKey, sizeof (__GLXclientState)))
|
||||||
return;
|
return;
|
||||||
if (!AddCallback (&ClientStateCallback, glxClientCallback, 0))
|
if (!AddCallback (&ClientStateCallback, glxClientCallback, 0))
|
||||||
|
|
|
@ -217,7 +217,8 @@ KdUninstallColormap (ColormapPtr pCmap)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* install default if on same fb */
|
/* install default if on same fb */
|
||||||
defMap = (ColormapPtr) LookupIDByType(defMapID, RT_COLORMAP);
|
dixLookupResourceByType((pointer *)&defMap, defMapID, RT_COLORMAP,
|
||||||
|
serverClient, DixInstallAccess);
|
||||||
if (defMap && KdColormapFb (defMap) == fb)
|
if (defMap && KdColormapFb (defMap) == fb)
|
||||||
(*pCmap->pScreen->InstallColormap)(defMap);
|
(*pCmap->pScreen->InstallColormap)(defMap);
|
||||||
else
|
else
|
||||||
|
|
|
@ -508,8 +508,10 @@ vfbUninstallColormap(ColormapPtr pmap)
|
||||||
{
|
{
|
||||||
if (pmap->mid != pmap->pScreen->defColormap)
|
if (pmap->mid != pmap->pScreen->defColormap)
|
||||||
{
|
{
|
||||||
curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
|
dixLookupResourceByType((pointer *)&curpmap,
|
||||||
RT_COLORMAP);
|
pmap->pScreen->defColormap,
|
||||||
|
RT_COLORMAP, serverClient,
|
||||||
|
DixInstallAccess);
|
||||||
(*pmap->pScreen->InstallColormap)(curpmap);
|
(*pmap->pScreen->InstallColormap)(curpmap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -357,7 +357,8 @@ static __inline__ void stw_u(unsigned long r5, unsigned short * r11)
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
# define write_mem_barrier() __asm__ __volatile__("wmb" : : : "memory")
|
# define mem_barrier() __asm__ __volatile__("mb" : : : "memory")
|
||||||
|
# define write_mem_barrier() __asm__ __volatile__("wmb" : : : "memory")
|
||||||
|
|
||||||
# elif defined(linux) && defined(__ia64__)
|
# elif defined(linux) && defined(__ia64__)
|
||||||
|
|
||||||
|
|
|
@ -726,7 +726,7 @@ static OptionInfoRec FlagOptions[] = {
|
||||||
{ FLAG_DONTVTSWITCH, "DontVTSwitch", OPTV_BOOLEAN,
|
{ FLAG_DONTVTSWITCH, "DontVTSwitch", OPTV_BOOLEAN,
|
||||||
{0}, FALSE },
|
{0}, FALSE },
|
||||||
{ FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN,
|
{ FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN,
|
||||||
{0}, TRUE },
|
{0}, FALSE },
|
||||||
{ FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN,
|
{ FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN,
|
||||||
{0}, FALSE },
|
{0}, FALSE },
|
||||||
{ FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN,
|
{ FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN,
|
||||||
|
@ -834,8 +834,7 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
|
||||||
|
|
||||||
xf86GetOptValBool(FlagOptions, FLAG_NOTRAPSIGNALS, &xf86Info.notrapSignals);
|
xf86GetOptValBool(FlagOptions, FLAG_NOTRAPSIGNALS, &xf86Info.notrapSignals);
|
||||||
xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch);
|
xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch);
|
||||||
if (!xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap))
|
xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap);
|
||||||
xf86Info.dontZap = !party_like_its_1989;
|
|
||||||
xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom);
|
xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom);
|
||||||
|
|
||||||
xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI);
|
xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI);
|
||||||
|
@ -1227,7 +1226,7 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout)
|
||||||
const char **driver = mousedrivers;
|
const char **driver = mousedrivers;
|
||||||
confInput = xf86findInput(CONF_IMPLICIT_POINTER,
|
confInput = xf86findInput(CONF_IMPLICIT_POINTER,
|
||||||
xf86configptr->conf_input_lst);
|
xf86configptr->conf_input_lst);
|
||||||
while (driver && !confInput) {
|
while (*driver && !confInput) {
|
||||||
confInput = xf86findInputByDriver(*driver,
|
confInput = xf86findInputByDriver(*driver,
|
||||||
xf86configptr->conf_input_lst);
|
xf86configptr->conf_input_lst);
|
||||||
driver++;
|
driver++;
|
||||||
|
|
|
@ -917,11 +917,6 @@ Bool
|
||||||
xf86SetGamma(ScrnInfoPtr scrp, Gamma gamma)
|
xf86SetGamma(ScrnInfoPtr scrp, Gamma gamma)
|
||||||
{
|
{
|
||||||
MessageType from = X_DEFAULT;
|
MessageType from = X_DEFAULT;
|
||||||
/* Pretend we succeeded if we support better a gamma system.
|
|
||||||
* This avoids a confusing message.
|
|
||||||
*/
|
|
||||||
if (xf86_crtc_supports_gamma(scrp))
|
|
||||||
return TRUE;
|
|
||||||
#if 0
|
#if 0
|
||||||
xf86MonPtr DDC = (xf86MonPtr)(scrp->monitor->DDC);
|
xf86MonPtr DDC = (xf86MonPtr)(scrp->monitor->DDC);
|
||||||
#endif
|
#endif
|
||||||
|
@ -953,6 +948,11 @@ xf86SetGamma(ScrnInfoPtr scrp, Gamma gamma)
|
||||||
scrp->gamma.green = 1.0;
|
scrp->gamma.green = 1.0;
|
||||||
scrp->gamma.blue = 1.0;
|
scrp->gamma.blue = 1.0;
|
||||||
}
|
}
|
||||||
|
/* Pretend we succeeded if we support better a gamma system.
|
||||||
|
* This avoids a confusing message.
|
||||||
|
*/
|
||||||
|
if (xf86_crtc_supports_gamma(scrp))
|
||||||
|
return TRUE;
|
||||||
xf86DrvMsg(scrp->scrnIndex, from,
|
xf86DrvMsg(scrp->scrnIndex, from,
|
||||||
"Using gamma correction (%.1f, %.1f, %.1f)\n",
|
"Using gamma correction (%.1f, %.1f, %.1f)\n",
|
||||||
scrp->gamma.red, scrp->gamma.green, scrp->gamma.blue);
|
scrp->gamma.red, scrp->gamma.green, scrp->gamma.blue);
|
||||||
|
|
|
@ -211,8 +211,8 @@ Bool xf86HandleColormaps(
|
||||||
ComputeGamma(pScreenPriv);
|
ComputeGamma(pScreenPriv);
|
||||||
|
|
||||||
/* get the default map */
|
/* get the default map */
|
||||||
|
dixLookupResourceByType((pointer *)&pDefMap, pScreen->defColormap,
|
||||||
pDefMap = (ColormapPtr) LookupIDByType(pScreen->defColormap, RT_COLORMAP);
|
RT_COLORMAP, serverClient, DixInstallAccess);
|
||||||
|
|
||||||
if(!CMapAllocateColormapPrivate(pDefMap)) {
|
if(!CMapAllocateColormapPrivate(pDefMap)) {
|
||||||
CMapUnwrapScreen(pScreen);
|
CMapUnwrapScreen(pScreen);
|
||||||
|
|
|
@ -533,7 +533,7 @@ struct detailed_monitor_section {
|
||||||
struct whitePoints wp[2]; /* 32 */
|
struct whitePoints wp[2]; /* 32 */
|
||||||
/* color management data */
|
/* color management data */
|
||||||
struct cvt_timings cvt[4]; /* 64 */
|
struct cvt_timings cvt[4]; /* 64 */
|
||||||
/* established timings III */
|
Uchar est_iii[6]; /* 6 */
|
||||||
} section; /* max: 80 */
|
} section; /* max: 80 */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -3,22 +3,23 @@
|
||||||
* Copyright 2007 Red Hat, Inc.
|
* Copyright 2007 Red Hat, Inc.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software")
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
* to deal in the software without restriction, including without limitation
|
* to deal in the Software without restriction, including without limitation
|
||||||
* on the rights to use, copy, modify, merge, publish, distribute, sub
|
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
* license, and/or sell copies of the Software, and to permit persons to whom
|
* and/or sell copies of the Software, and to permit persons to whom the
|
||||||
* them Software is furnished to do so, subject to the following conditions:
|
* Software is furnished to do so, subject to the following conditions:
|
||||||
*
|
*
|
||||||
* The above copyright notice and this permission notice (including the next
|
* The above copyright notice and this permission notice (including the next
|
||||||
* paragraph) shall be included in all copies or substantial portions of the
|
* paragraph) shall be included in all copies or substantial portions of the
|
||||||
* Software.
|
* Software.
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTIBILITY,
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
* THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER
|
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
* IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
* DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* interpret_edid.c: interpret a primary EDID block
|
* interpret_edid.c: interpret a primary EDID block
|
||||||
*/
|
*/
|
||||||
|
@ -284,6 +285,8 @@ get_std_timing_section(Uchar *c, struct std_timings *r,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const unsigned char empty_block[18];
|
||||||
|
|
||||||
static void
|
static void
|
||||||
get_dt_md_section(Uchar *c, struct edid_version *ver,
|
get_dt_md_section(Uchar *c, struct edid_version *ver,
|
||||||
struct detailed_monitor_section *det_mon)
|
struct detailed_monitor_section *det_mon)
|
||||||
|
@ -327,6 +330,7 @@ get_dt_md_section(Uchar *c, struct edid_version *ver,
|
||||||
break;
|
break;
|
||||||
case ADD_EST_TIMINGS:
|
case ADD_EST_TIMINGS:
|
||||||
det_mon[i].type = DS_EST_III;
|
det_mon[i].type = DS_EST_III;
|
||||||
|
memcpy(det_mon[i].section.est_iii, c + 6, 6);
|
||||||
break;
|
break;
|
||||||
case ADD_DUMMY:
|
case ADD_DUMMY:
|
||||||
det_mon[i].type = DS_DUMMY;
|
det_mon[i].type = DS_DUMMY;
|
||||||
|
@ -335,10 +339,10 @@ get_dt_md_section(Uchar *c, struct edid_version *ver,
|
||||||
det_mon[i].type = DS_UNKOWN;
|
det_mon[i].type = DS_UNKOWN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (c[3] <= 0x0F) {
|
if (c[3] <= 0x0F && memcmp(c, empty_block, sizeof(empty_block))) {
|
||||||
det_mon[i].type = DS_VENDOR + c[3];
|
det_mon[i].type = DS_VENDOR + c[3];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
det_mon[i].type = DT;
|
det_mon[i].type = DT;
|
||||||
get_detailed_timing_section(c,&det_mon[i].section.d_timings);
|
get_detailed_timing_section(c,&det_mon[i].section.d_timings);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,22 +3,23 @@
|
||||||
* Copyright 2007 Red Hat, Inc.
|
* Copyright 2007 Red Hat, Inc.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software")
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
* to deal in the software without restriction, including without limitation
|
* to deal in the Software without restriction, including without limitation
|
||||||
* on the rights to use, copy, modify, merge, publish, distribute, sub
|
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
* license, and/or sell copies of the Software, and to permit persons to whom
|
* and/or sell copies of the Software, and to permit persons to whom the
|
||||||
* them Software is furnished to do so, subject to the following conditions:
|
* Software is furnished to do so, subject to the following conditions:
|
||||||
*
|
*
|
||||||
* The above copyright notice and this permission notice (including the next
|
* The above copyright notice and this permission notice (including the next
|
||||||
* paragraph) shall be included in all copies or substantial portions of the
|
* paragraph) shall be included in all copies or substantial portions of the
|
||||||
* Software.
|
* Software.
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTIBILITY,
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
* THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER
|
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
* IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
* DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* print_edid.c: print out all information retrieved from display device
|
* print_edid.c: print out all information retrieved from display device
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -420,6 +420,7 @@ static int
|
||||||
ProcXDGAInstallColormap(ClientPtr client)
|
ProcXDGAInstallColormap(ClientPtr client)
|
||||||
{
|
{
|
||||||
ColormapPtr cmap;
|
ColormapPtr cmap;
|
||||||
|
int rc;
|
||||||
REQUEST(xXDGAInstallColormapReq);
|
REQUEST(xXDGAInstallColormapReq);
|
||||||
|
|
||||||
if (stuff->screen > screenInfo.numScreens)
|
if (stuff->screen > screenInfo.numScreens)
|
||||||
|
@ -430,13 +431,13 @@ ProcXDGAInstallColormap(ClientPtr client)
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xXDGAInstallColormapReq);
|
REQUEST_SIZE_MATCH(xXDGAInstallColormapReq);
|
||||||
|
|
||||||
cmap = (ColormapPtr)LookupIDByType(stuff->cmap, RT_COLORMAP);
|
rc = dixLookupResourceByType((pointer *)&cmap, stuff->cmap, RT_COLORMAP,
|
||||||
if (cmap) {
|
client, DixInstallAccess);
|
||||||
|
if (rc == Success) {
|
||||||
DGAInstallCmap(cmap);
|
DGAInstallCmap(cmap);
|
||||||
return (client->noClientException);
|
return (client->noClientException);
|
||||||
} else {
|
} else {
|
||||||
client->errorValue = stuff->cmap;
|
return (rc == BadValue) ? BadColor : rc;
|
||||||
return (BadColor);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (client->noClientException);
|
return (client->noClientException);
|
||||||
|
@ -858,6 +859,7 @@ static int
|
||||||
ProcXF86DGAInstallColormap(ClientPtr client)
|
ProcXF86DGAInstallColormap(ClientPtr client)
|
||||||
{
|
{
|
||||||
ColormapPtr pcmp;
|
ColormapPtr pcmp;
|
||||||
|
int rc;
|
||||||
REQUEST(xXF86DGAInstallColormapReq);
|
REQUEST(xXF86DGAInstallColormapReq);
|
||||||
|
|
||||||
if (stuff->screen > screenInfo.numScreens)
|
if (stuff->screen > screenInfo.numScreens)
|
||||||
|
@ -871,13 +873,13 @@ ProcXF86DGAInstallColormap(ClientPtr client)
|
||||||
if (!DGAActive(stuff->screen))
|
if (!DGAActive(stuff->screen))
|
||||||
return (DGAErrorBase + XF86DGADirectNotActivated);
|
return (DGAErrorBase + XF86DGADirectNotActivated);
|
||||||
|
|
||||||
pcmp = (ColormapPtr )LookupIDByType(stuff->id, RT_COLORMAP);
|
rc = dixLookupResourceByType((pointer *)&pcmp, stuff->id, RT_COLORMAP,
|
||||||
if (pcmp) {
|
client, DixInstallAccess);
|
||||||
|
if (rc == Success) {
|
||||||
DGAInstallCmap(pcmp);
|
DGAInstallCmap(pcmp);
|
||||||
return (client->noClientException);
|
return (client->noClientException);
|
||||||
} else {
|
} else {
|
||||||
client->errorValue = stuff->id;
|
return (rc == BadValue) ? BadColor : rc;
|
||||||
return (BadColor);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1541,6 +1541,7 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client)
|
||||||
{
|
{
|
||||||
CARD16 *ramp = NULL;
|
CARD16 *ramp = NULL;
|
||||||
int n, length, i;
|
int n, length, i;
|
||||||
|
size_t ramplen;
|
||||||
xXF86VidModeGetGammaRampReply rep;
|
xXF86VidModeGetGammaRampReply rep;
|
||||||
REQUEST(xXF86VidModeGetGammaRampReq);
|
REQUEST(xXF86VidModeGetGammaRampReq);
|
||||||
|
|
||||||
|
@ -1555,7 +1556,8 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client)
|
||||||
length = (stuff->size + 1) & ~1;
|
length = (stuff->size + 1) & ~1;
|
||||||
|
|
||||||
if(stuff->size) {
|
if(stuff->size) {
|
||||||
if(!(ramp = xalloc(length * 3 * sizeof(CARD16))))
|
ramplen = length * 3 * sizeof(CARD16);
|
||||||
|
if (!(ramp = xalloc(ramplen)))
|
||||||
return BadAlloc;
|
return BadAlloc;
|
||||||
|
|
||||||
if (!VidModeGetGammaRamp(stuff->screen, stuff->size,
|
if (!VidModeGetGammaRamp(stuff->screen, stuff->size,
|
||||||
|
@ -1573,13 +1575,12 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client)
|
||||||
swaps(&rep.sequenceNumber, n);
|
swaps(&rep.sequenceNumber, n);
|
||||||
swapl(&rep.length, n);
|
swapl(&rep.length, n);
|
||||||
swaps(&rep.size, n);
|
swaps(&rep.size, n);
|
||||||
for(i = 0; i < length * 3; i++)
|
SwapShorts(ramp, length * 3);
|
||||||
swaps(&ramp[i],n);
|
|
||||||
}
|
}
|
||||||
WriteToClient(client, sizeof(xXF86VidModeGetGammaRampReply), (char *)&rep);
|
WriteToClient(client, sizeof(xXF86VidModeGetGammaRampReply), (char *)&rep);
|
||||||
|
|
||||||
if(stuff->size) {
|
if(stuff->size) {
|
||||||
WriteToClient(client, rep.length << 2, (char*)ramp);
|
WriteToClient(client, ramplen, (char*)ramp);
|
||||||
xfree(ramp);
|
xfree(ramp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2060,7 +2061,6 @@ SProcXF86VidModeGetGamma(ClientPtr client)
|
||||||
static int
|
static int
|
||||||
SProcXF86VidModeSetGammaRamp(ClientPtr client)
|
SProcXF86VidModeSetGammaRamp(ClientPtr client)
|
||||||
{
|
{
|
||||||
CARD16 *ramp;
|
|
||||||
int length, n;
|
int length, n;
|
||||||
REQUEST(xXF86VidModeSetGammaRampReq);
|
REQUEST(xXF86VidModeSetGammaRampReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -2069,11 +2069,7 @@ SProcXF86VidModeSetGammaRamp(ClientPtr client)
|
||||||
swaps(&stuff->screen, n);
|
swaps(&stuff->screen, n);
|
||||||
length = ((stuff->size + 1) & ~1) * 6;
|
length = ((stuff->size + 1) & ~1) * 6;
|
||||||
REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length);
|
REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length);
|
||||||
ramp = (CARD16*)&stuff[1];
|
SwapRestS(stuff);
|
||||||
while(length--) {
|
|
||||||
swaps(ramp, n);
|
|
||||||
ramp++;
|
|
||||||
}
|
|
||||||
return ProcXF86VidModeSetGammaRamp(client);
|
return ProcXF86VidModeSetGammaRamp(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -464,12 +464,11 @@ Default: off.
|
||||||
.TP 7
|
.TP 7
|
||||||
.BI "Option \*qDontZap\*q \*q" boolean \*q
|
.BI "Option \*qDontZap\*q \*q" boolean \*q
|
||||||
This disallows the use of the
|
This disallows the use of the
|
||||||
.B Ctrl+Alt+Backspace
|
.B Terminate_Server
|
||||||
sequence.
|
XKB action (usually on Ctrl+Alt+Backspace, depending on XKB options).
|
||||||
That sequence is normally used to terminate the __xservername__ server.
|
This action is normally used to terminate the __xservername__ server.
|
||||||
When this option is enabled (as per default), that key sequence has no
|
When this option is enabled, the action has no effect.
|
||||||
special meaning.
|
Default: off.
|
||||||
Default: on.
|
|
||||||
.TP 7
|
.TP 7
|
||||||
.BI "Option \*qDontZoom\*q \*q" boolean \*q
|
.BI "Option \*qDontZoom\*q \*q" boolean \*q
|
||||||
This disallows the use of the
|
This disallows the use of the
|
||||||
|
|
|
@ -1363,11 +1363,12 @@ Bool
|
||||||
DRIDrawablePrivDelete(pointer pResource, XID id)
|
DRIDrawablePrivDelete(pointer pResource, XID id)
|
||||||
{
|
{
|
||||||
WindowPtr pWin;
|
WindowPtr pWin;
|
||||||
|
int rc;
|
||||||
|
|
||||||
id = (XID)pResource;
|
id = (XID)pResource;
|
||||||
pWin = LookupIDByType(id, RT_WINDOW);
|
rc = dixLookupWindow(&pWin, id, serverClient, DixGetAttrAccess);
|
||||||
|
|
||||||
if (pWin) {
|
if (rc == Success) {
|
||||||
DRIDrawablePrivPtr pDRIDrwPriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin);
|
DRIDrawablePrivPtr pDRIDrwPriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin);
|
||||||
|
|
||||||
if (!pDRIDrwPriv)
|
if (!pDRIDrwPriv)
|
||||||
|
|
|
@ -53,7 +53,7 @@ typedef struct _DRI2Drawable {
|
||||||
unsigned int refCount;
|
unsigned int refCount;
|
||||||
int width;
|
int width;
|
||||||
int height;
|
int height;
|
||||||
DRI2BufferPtr buffers;
|
DRI2BufferPtr *buffers;
|
||||||
int bufferCount;
|
int bufferCount;
|
||||||
unsigned int pendingSequence;
|
unsigned int pendingSequence;
|
||||||
} DRI2DrawableRec, *DRI2DrawablePtr;
|
} DRI2DrawableRec, *DRI2DrawablePtr;
|
||||||
|
@ -63,8 +63,8 @@ typedef struct _DRI2Screen {
|
||||||
const char *deviceName;
|
const char *deviceName;
|
||||||
int fd;
|
int fd;
|
||||||
unsigned int lastSequence;
|
unsigned int lastSequence;
|
||||||
DRI2CreateBuffersProcPtr CreateBuffers;
|
DRI2CreateBufferProcPtr CreateBuffer;
|
||||||
DRI2DestroyBuffersProcPtr DestroyBuffers;
|
DRI2DestroyBufferProcPtr DestroyBuffer;
|
||||||
DRI2CopyRegionProcPtr CopyRegion;
|
DRI2CopyRegionProcPtr CopyRegion;
|
||||||
|
|
||||||
HandleExposuresProcPtr HandleExposures;
|
HandleExposuresProcPtr HandleExposures;
|
||||||
|
@ -132,71 +132,135 @@ DRI2CreateDrawable(DrawablePtr pDraw)
|
||||||
return Success;
|
return Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
DRI2BufferPtr
|
static int
|
||||||
DRI2GetBuffers(DrawablePtr pDraw, int *width, int *height,
|
find_attachment(DRI2BufferPtr *buffer_list, int count, unsigned attachment)
|
||||||
unsigned int *attachments, int count, int *out_count)
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (buffer_list == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < count; i++) {
|
||||||
|
if ((buffer_list[i] != NULL)
|
||||||
|
&& (buffer_list[i]->attachment == attachment)) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static DRI2BufferPtr
|
||||||
|
allocate_or_reuse_buffer(DrawablePtr pDraw, DRI2ScreenPtr ds,
|
||||||
|
DRI2DrawablePtr pPriv,
|
||||||
|
unsigned int attachment, unsigned int format,
|
||||||
|
int dimensions_match)
|
||||||
|
{
|
||||||
|
DRI2BufferPtr buffer;
|
||||||
|
int old_buf;
|
||||||
|
|
||||||
|
old_buf = find_attachment(pPriv->buffers, pPriv->bufferCount, attachment);
|
||||||
|
|
||||||
|
if ((old_buf < 0)
|
||||||
|
|| !dimensions_match
|
||||||
|
|| (pPriv->buffers[old_buf]->format != format)) {
|
||||||
|
buffer = (*ds->CreateBuffer)(pDraw, attachment, format);
|
||||||
|
} else {
|
||||||
|
buffer = pPriv->buffers[old_buf];
|
||||||
|
pPriv->buffers[old_buf] = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
static DRI2BufferPtr *
|
||||||
|
do_get_buffers(DrawablePtr pDraw, int *width, int *height,
|
||||||
|
unsigned int *attachments, int count, int *out_count,
|
||||||
|
int has_format)
|
||||||
{
|
{
|
||||||
DRI2ScreenPtr ds = DRI2GetScreen(pDraw->pScreen);
|
DRI2ScreenPtr ds = DRI2GetScreen(pDraw->pScreen);
|
||||||
DRI2DrawablePtr pPriv = DRI2GetDrawable(pDraw);
|
DRI2DrawablePtr pPriv = DRI2GetDrawable(pDraw);
|
||||||
DRI2BufferPtr buffers;
|
DRI2BufferPtr *buffers;
|
||||||
unsigned int temp_buf[32];
|
int need_real_front = 0;
|
||||||
unsigned int *temp = temp_buf;
|
int need_fake_front = 0;
|
||||||
int have_fake_front = 0;
|
int have_fake_front = 0;
|
||||||
|
int front_format = 0;
|
||||||
|
const int dimensions_match = (pDraw->width == pPriv->width)
|
||||||
|
&& (pDraw->height == pPriv->height);
|
||||||
|
int i;
|
||||||
|
|
||||||
|
|
||||||
/* If the drawable is a window and the front-buffer is requested, silently
|
buffers = xalloc((count + 1) * sizeof(buffers[0]));
|
||||||
* add the fake front-buffer to the list of requested attachments. The
|
|
||||||
* counting logic in the loop accounts for the case where the client
|
|
||||||
* requests both the fake and real front-buffer.
|
|
||||||
*/
|
|
||||||
if (pDraw->type == DRAWABLE_WINDOW) {
|
|
||||||
int need_fake_front = 0;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if ((count + 1) > 32) {
|
for (i = 0; i < count; i++) {
|
||||||
temp = xalloc((count + 1) * sizeof(temp[0]));
|
const unsigned attachment = *(attachments++);
|
||||||
|
const unsigned format = (has_format) ? *(attachments++) : 0;
|
||||||
|
|
||||||
|
buffers[i] = allocate_or_reuse_buffer(pDraw, ds, pPriv, attachment,
|
||||||
|
format, dimensions_match);
|
||||||
|
|
||||||
|
|
||||||
|
/* If the drawable is a window and the front-buffer is requested,
|
||||||
|
* silently add the fake front-buffer to the list of requested
|
||||||
|
* attachments. The counting logic in the loop accounts for the case
|
||||||
|
* where the client requests both the fake and real front-buffer.
|
||||||
|
*/
|
||||||
|
if (attachment == DRI2BufferBackLeft) {
|
||||||
|
need_real_front++;
|
||||||
|
front_format = format;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < count; i++) {
|
if (attachment == DRI2BufferFrontLeft) {
|
||||||
if (attachments[i] == DRI2BufferFrontLeft) {
|
need_real_front--;
|
||||||
|
front_format = format;
|
||||||
|
|
||||||
|
if (pDraw->type == DRAWABLE_WINDOW) {
|
||||||
need_fake_front++;
|
need_fake_front++;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (attachments[i] == DRI2BufferFakeFrontLeft) {
|
if (pDraw->type == DRAWABLE_WINDOW) {
|
||||||
|
if (attachment == DRI2BufferFakeFrontLeft) {
|
||||||
need_fake_front--;
|
need_fake_front--;
|
||||||
have_fake_front = 1;
|
have_fake_front = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
temp[i] = attachments[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (need_fake_front > 0) {
|
|
||||||
temp[i] = DRI2BufferFakeFrontLeft;
|
|
||||||
count++;
|
|
||||||
have_fake_front = 1;
|
|
||||||
attachments = temp;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (need_real_front > 0) {
|
||||||
if (pPriv->buffers == NULL ||
|
buffers[i++] = allocate_or_reuse_buffer(pDraw, ds, pPriv,
|
||||||
pDraw->width != pPriv->width || pDraw->height != pPriv->height)
|
DRI2BufferFrontLeft,
|
||||||
{
|
front_format, dimensions_match);
|
||||||
buffers = (*ds->CreateBuffers)(pDraw, attachments, count);
|
|
||||||
(*ds->DestroyBuffers)(pDraw, pPriv->buffers, pPriv->bufferCount);
|
|
||||||
pPriv->buffers = buffers;
|
|
||||||
pPriv->bufferCount = count;
|
|
||||||
pPriv->width = pDraw->width;
|
|
||||||
pPriv->height = pDraw->height;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (temp != temp_buf) {
|
if (need_fake_front > 0) {
|
||||||
xfree(temp);
|
buffers[i++] = allocate_or_reuse_buffer(pDraw, ds, pPriv,
|
||||||
|
DRI2BufferFakeFrontLeft,
|
||||||
|
front_format, dimensions_match);
|
||||||
|
have_fake_front = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*out_count = i;
|
||||||
|
|
||||||
|
|
||||||
|
if (pPriv->buffers != NULL) {
|
||||||
|
for (i = 0; i < pPriv->bufferCount; i++) {
|
||||||
|
if (pPriv->buffers[i] != NULL) {
|
||||||
|
(*ds->DestroyBuffer)(pDraw, pPriv->buffers[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
xfree(pPriv->buffers);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
pPriv->buffers = buffers;
|
||||||
|
pPriv->bufferCount = *out_count;
|
||||||
|
pPriv->width = pDraw->width;
|
||||||
|
pPriv->height = pDraw->height;
|
||||||
*width = pPriv->width;
|
*width = pPriv->width;
|
||||||
*height = pPriv->height;
|
*height = pPriv->height;
|
||||||
*out_count = pPriv->bufferCount;
|
|
||||||
|
|
||||||
|
|
||||||
/* If the client is getting a fake front-buffer, pre-fill it with the
|
/* If the client is getting a fake front-buffer, pre-fill it with the
|
||||||
|
@ -220,6 +284,22 @@ DRI2GetBuffers(DrawablePtr pDraw, int *width, int *height,
|
||||||
return pPriv->buffers;
|
return pPriv->buffers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DRI2BufferPtr *
|
||||||
|
DRI2GetBuffers(DrawablePtr pDraw, int *width, int *height,
|
||||||
|
unsigned int *attachments, int count, int *out_count)
|
||||||
|
{
|
||||||
|
return do_get_buffers(pDraw, width, height, attachments, count,
|
||||||
|
out_count, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
DRI2BufferPtr *
|
||||||
|
DRI2GetBuffersWithFormat(DrawablePtr pDraw, int *width, int *height,
|
||||||
|
unsigned int *attachments, int count, int *out_count)
|
||||||
|
{
|
||||||
|
return do_get_buffers(pDraw, width, height, attachments, count,
|
||||||
|
out_count, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
DRI2CopyRegion(DrawablePtr pDraw, RegionPtr pRegion,
|
DRI2CopyRegion(DrawablePtr pDraw, RegionPtr pRegion,
|
||||||
unsigned int dest, unsigned int src)
|
unsigned int dest, unsigned int src)
|
||||||
|
@ -237,10 +317,10 @@ DRI2CopyRegion(DrawablePtr pDraw, RegionPtr pRegion,
|
||||||
pSrcBuffer = NULL;
|
pSrcBuffer = NULL;
|
||||||
for (i = 0; i < pPriv->bufferCount; i++)
|
for (i = 0; i < pPriv->bufferCount; i++)
|
||||||
{
|
{
|
||||||
if (pPriv->buffers[i].attachment == dest)
|
if (pPriv->buffers[i]->attachment == dest)
|
||||||
pDestBuffer = &pPriv->buffers[i];
|
pDestBuffer = pPriv->buffers[i];
|
||||||
if (pPriv->buffers[i].attachment == src)
|
if (pPriv->buffers[i]->attachment == src)
|
||||||
pSrcBuffer = &pPriv->buffers[i];
|
pSrcBuffer = pPriv->buffers[i];
|
||||||
}
|
}
|
||||||
if (pSrcBuffer == NULL || pDestBuffer == NULL)
|
if (pSrcBuffer == NULL || pDestBuffer == NULL)
|
||||||
return BadValue;
|
return BadValue;
|
||||||
|
@ -266,7 +346,16 @@ DRI2DestroyDrawable(DrawablePtr pDraw)
|
||||||
if (pPriv->refCount > 0)
|
if (pPriv->refCount > 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
(*ds->DestroyBuffers)(pDraw, pPriv->buffers, pPriv->bufferCount);
|
if (pPriv->buffers != NULL) {
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < pPriv->bufferCount; i++) {
|
||||||
|
(*ds->DestroyBuffer)(pDraw, pPriv->buffers[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
xfree(pPriv->buffers);
|
||||||
|
}
|
||||||
|
|
||||||
xfree(pPriv);
|
xfree(pPriv);
|
||||||
|
|
||||||
if (pDraw->type == DRAWABLE_WINDOW)
|
if (pDraw->type == DRAWABLE_WINDOW)
|
||||||
|
@ -320,11 +409,18 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info)
|
||||||
if (!ds)
|
if (!ds)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
if ((info->version < 2)
|
||||||
|
|| (info->CreateBuffer == NULL)
|
||||||
|
|| (info->DestroyBuffer == NULL)) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ds->fd = info->fd;
|
ds->fd = info->fd;
|
||||||
ds->driverName = info->driverName;
|
ds->driverName = info->driverName;
|
||||||
ds->deviceName = info->deviceName;
|
ds->deviceName = info->deviceName;
|
||||||
ds->CreateBuffers = info->CreateBuffers;
|
ds->CreateBuffer = info->CreateBuffer;
|
||||||
ds->DestroyBuffers = info->DestroyBuffers;
|
ds->DestroyBuffer = info->DestroyBuffer;
|
||||||
ds->CopyRegion = info->CopyRegion;
|
ds->CopyRegion = info->CopyRegion;
|
||||||
|
|
||||||
dixSetPrivate(&pScreen->devPrivates, dri2ScreenPrivateKey, ds);
|
dixSetPrivate(&pScreen->devPrivates, dri2ScreenPrivateKey, ds);
|
||||||
|
@ -371,7 +467,7 @@ static XF86ModuleVersionInfo DRI2VersRec =
|
||||||
MODINFOSTRING1,
|
MODINFOSTRING1,
|
||||||
MODINFOSTRING2,
|
MODINFOSTRING2,
|
||||||
XORG_VERSION_CURRENT,
|
XORG_VERSION_CURRENT,
|
||||||
1, 0, 0,
|
1, 1, 0,
|
||||||
ABI_CLASS_EXTENSION,
|
ABI_CLASS_EXTENSION,
|
||||||
ABI_EXTENSION_VERSION,
|
ABI_EXTENSION_VERSION,
|
||||||
MOD_CLASS_NONE,
|
MOD_CLASS_NONE,
|
||||||
|
@ -380,3 +476,12 @@ static XF86ModuleVersionInfo DRI2VersRec =
|
||||||
|
|
||||||
_X_EXPORT XF86ModuleData dri2ModuleData = { &DRI2VersRec, DRI2Setup, NULL };
|
_X_EXPORT XF86ModuleData dri2ModuleData = { &DRI2VersRec, DRI2Setup, NULL };
|
||||||
|
|
||||||
|
void
|
||||||
|
DRI2Version(int *major, int *minor)
|
||||||
|
{
|
||||||
|
if (major != NULL)
|
||||||
|
*major = DRI2VersRec.majorversion;
|
||||||
|
|
||||||
|
if (minor != NULL)
|
||||||
|
*minor = DRI2VersRec.minorversion;
|
||||||
|
}
|
||||||
|
|
|
@ -41,6 +41,7 @@ typedef struct {
|
||||||
unsigned int pitch;
|
unsigned int pitch;
|
||||||
unsigned int cpp;
|
unsigned int cpp;
|
||||||
unsigned int flags;
|
unsigned int flags;
|
||||||
|
unsigned int format;
|
||||||
void *driverPrivate;
|
void *driverPrivate;
|
||||||
} DRI2BufferRec, *DRI2BufferPtr;
|
} DRI2BufferRec, *DRI2BufferPtr;
|
||||||
|
|
||||||
|
@ -58,8 +59,19 @@ typedef void (*DRI2CopyRegionProcPtr)(DrawablePtr pDraw,
|
||||||
typedef void (*DRI2WaitProcPtr)(WindowPtr pWin,
|
typedef void (*DRI2WaitProcPtr)(WindowPtr pWin,
|
||||||
unsigned int sequence);
|
unsigned int sequence);
|
||||||
|
|
||||||
|
typedef DRI2BufferPtr (*DRI2CreateBufferProcPtr)(DrawablePtr pDraw,
|
||||||
|
unsigned int attachment,
|
||||||
|
unsigned int format);
|
||||||
|
typedef void (*DRI2DestroyBufferProcPtr)(DrawablePtr pDraw,
|
||||||
|
DRI2BufferPtr buffer);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Version of the DRI2InfoRec structure defined in this header
|
||||||
|
*/
|
||||||
|
#define DRI2INFOREC_VERSION 2
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
unsigned int version; /* Version of this struct */
|
unsigned int version; /**< Version of this struct */
|
||||||
int fd;
|
int fd;
|
||||||
const char *driverName;
|
const char *driverName;
|
||||||
const char *deviceName;
|
const char *deviceName;
|
||||||
|
@ -69,6 +81,14 @@ typedef struct {
|
||||||
DRI2CopyRegionProcPtr CopyRegion;
|
DRI2CopyRegionProcPtr CopyRegion;
|
||||||
DRI2WaitProcPtr Wait;
|
DRI2WaitProcPtr Wait;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \name Fields added in version 2 of the structure.
|
||||||
|
*/
|
||||||
|
/*@{*/
|
||||||
|
DRI2CreateBufferProcPtr CreateBuffer;
|
||||||
|
DRI2DestroyBufferProcPtr DestroyBuffer;
|
||||||
|
/*@}*/
|
||||||
|
|
||||||
} DRI2InfoRec, *DRI2InfoPtr;
|
} DRI2InfoRec, *DRI2InfoPtr;
|
||||||
|
|
||||||
extern _X_EXPORT Bool DRI2ScreenInit(ScreenPtr pScreen,
|
extern _X_EXPORT Bool DRI2ScreenInit(ScreenPtr pScreen,
|
||||||
|
@ -88,7 +108,7 @@ extern _X_EXPORT int DRI2CreateDrawable(DrawablePtr pDraw);
|
||||||
|
|
||||||
extern _X_EXPORT void DRI2DestroyDrawable(DrawablePtr pDraw);
|
extern _X_EXPORT void DRI2DestroyDrawable(DrawablePtr pDraw);
|
||||||
|
|
||||||
extern _X_EXPORT DRI2BufferPtr DRI2GetBuffers(DrawablePtr pDraw,
|
extern _X_EXPORT DRI2BufferPtr *DRI2GetBuffers(DrawablePtr pDraw,
|
||||||
int *width,
|
int *width,
|
||||||
int *height,
|
int *height,
|
||||||
unsigned int *attachments,
|
unsigned int *attachments,
|
||||||
|
@ -100,4 +120,26 @@ extern _X_EXPORT int DRI2CopyRegion(DrawablePtr pDraw,
|
||||||
unsigned int dest,
|
unsigned int dest,
|
||||||
unsigned int src);
|
unsigned int src);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine the major and minor version of the DRI2 extension.
|
||||||
|
*
|
||||||
|
* Provides a mechanism to other modules (e.g., 2D drivers) to determine the
|
||||||
|
* version of the DRI2 extension. While it is possible to peek directly at
|
||||||
|
* the \c XF86ModuleData from a layered module, such a module will fail to
|
||||||
|
* load (due to an unresolved symbol) if the DRI2 extension is not loaded.
|
||||||
|
*
|
||||||
|
* \param major Location to store the major verion of the DRI2 extension
|
||||||
|
* \param minor Location to store the minor verion of the DRI2 extension
|
||||||
|
*
|
||||||
|
* \note
|
||||||
|
* This interface was added some time after the initial release of the DRI2
|
||||||
|
* module. Layered modules that wish to use this interface must first test
|
||||||
|
* its existance by calling \c xf86LoaderCheckSymbol.
|
||||||
|
*/
|
||||||
|
extern _X_EXPORT void DRI2Version(int *major, int *minor);
|
||||||
|
|
||||||
|
extern _X_EXPORT DRI2BufferPtr *DRI2GetBuffersWithFormat(DrawablePtr pDraw,
|
||||||
|
int *width, int *height, unsigned int *attachments, int count,
|
||||||
|
int *out_count);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -80,7 +80,7 @@ ProcDRI2QueryVersion(ClientPtr client)
|
||||||
rep.length = 0;
|
rep.length = 0;
|
||||||
rep.sequenceNumber = client->sequence;
|
rep.sequenceNumber = client->sequence;
|
||||||
rep.majorVersion = 1;
|
rep.majorVersion = 1;
|
||||||
rep.minorVersion = 0;
|
rep.minorVersion = 1;
|
||||||
|
|
||||||
if (client->swapped) {
|
if (client->swapped) {
|
||||||
swaps(&rep.sequenceNumber, n);
|
swaps(&rep.sequenceNumber, n);
|
||||||
|
@ -192,32 +192,20 @@ ProcDRI2DestroyDrawable(ClientPtr client)
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
ProcDRI2GetBuffers(ClientPtr client)
|
static void
|
||||||
|
send_buffers_reply(ClientPtr client, DrawablePtr pDrawable,
|
||||||
|
DRI2BufferPtr *buffers, int count, int width, int height)
|
||||||
{
|
{
|
||||||
REQUEST(xDRI2GetBuffersReq);
|
|
||||||
xDRI2GetBuffersReply rep;
|
xDRI2GetBuffersReply rep;
|
||||||
DrawablePtr pDrawable;
|
int skip = 0;
|
||||||
DRI2BufferPtr buffers;
|
int i;
|
||||||
int i, status, width, height, count;
|
|
||||||
unsigned int *attachments;
|
|
||||||
xDRI2Buffer buffer;
|
|
||||||
int skip;
|
|
||||||
|
|
||||||
REQUEST_FIXED_SIZE(xDRI2GetBuffersReq, stuff->count * 4);
|
|
||||||
if (!validDrawable(client, stuff->drawable, &pDrawable, &status))
|
|
||||||
return status;
|
|
||||||
|
|
||||||
attachments = (unsigned int *) &stuff[1];
|
|
||||||
buffers = DRI2GetBuffers(pDrawable, &width, &height,
|
|
||||||
attachments, stuff->count, &count);
|
|
||||||
|
|
||||||
skip = 0;
|
|
||||||
if (pDrawable->type == DRAWABLE_WINDOW) {
|
if (pDrawable->type == DRAWABLE_WINDOW) {
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
/* Do not send the real front buffer of a window to the client.
|
/* Do not send the real front buffer of a window to the client.
|
||||||
*/
|
*/
|
||||||
if (buffers[i].attachment == DRI2BufferFrontLeft) {
|
if (buffers[i]->attachment == DRI2BufferFrontLeft) {
|
||||||
skip++;
|
skip++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -233,20 +221,66 @@ ProcDRI2GetBuffers(ClientPtr client)
|
||||||
WriteToClient(client, sizeof(xDRI2GetBuffersReply), &rep);
|
WriteToClient(client, sizeof(xDRI2GetBuffersReply), &rep);
|
||||||
|
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
|
xDRI2Buffer buffer;
|
||||||
|
|
||||||
/* Do not send the real front buffer of a window to the client.
|
/* Do not send the real front buffer of a window to the client.
|
||||||
*/
|
*/
|
||||||
if ((pDrawable->type == DRAWABLE_WINDOW)
|
if ((pDrawable->type == DRAWABLE_WINDOW)
|
||||||
&& (buffers[i].attachment == DRI2BufferFrontLeft)) {
|
&& (buffers[i]->attachment == DRI2BufferFrontLeft)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer.attachment = buffers[i].attachment;
|
buffer.attachment = buffers[i]->attachment;
|
||||||
buffer.name = buffers[i].name;
|
buffer.name = buffers[i]->name;
|
||||||
buffer.pitch = buffers[i].pitch;
|
buffer.pitch = buffers[i]->pitch;
|
||||||
buffer.cpp = buffers[i].cpp;
|
buffer.cpp = buffers[i]->cpp;
|
||||||
buffer.flags = buffers[i].flags;
|
buffer.flags = buffers[i]->flags;
|
||||||
WriteToClient(client, sizeof(xDRI2Buffer), &buffer);
|
WriteToClient(client, sizeof(xDRI2Buffer), &buffer);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
ProcDRI2GetBuffers(ClientPtr client)
|
||||||
|
{
|
||||||
|
REQUEST(xDRI2GetBuffersReq);
|
||||||
|
DrawablePtr pDrawable;
|
||||||
|
DRI2BufferPtr *buffers;
|
||||||
|
int status, width, height, count;
|
||||||
|
unsigned int *attachments;
|
||||||
|
|
||||||
|
REQUEST_FIXED_SIZE(xDRI2GetBuffersReq, stuff->count * 4);
|
||||||
|
if (!validDrawable(client, stuff->drawable, &pDrawable, &status))
|
||||||
|
return status;
|
||||||
|
|
||||||
|
attachments = (unsigned int *) &stuff[1];
|
||||||
|
buffers = DRI2GetBuffers(pDrawable, &width, &height,
|
||||||
|
attachments, stuff->count, &count);
|
||||||
|
|
||||||
|
|
||||||
|
send_buffers_reply(client, pDrawable, buffers, count, width, height);
|
||||||
|
|
||||||
|
return client->noClientException;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
ProcDRI2GetBuffersWithFormat(ClientPtr client)
|
||||||
|
{
|
||||||
|
REQUEST(xDRI2GetBuffersReq);
|
||||||
|
DrawablePtr pDrawable;
|
||||||
|
DRI2BufferPtr *buffers;
|
||||||
|
int status, width, height, count;
|
||||||
|
unsigned int *attachments;
|
||||||
|
|
||||||
|
REQUEST_FIXED_SIZE(xDRI2GetBuffersReq, stuff->count * (2 * 4));
|
||||||
|
if (!validDrawable(client, stuff->drawable, &pDrawable, &status))
|
||||||
|
return status;
|
||||||
|
|
||||||
|
attachments = (unsigned int *) &stuff[1];
|
||||||
|
buffers = DRI2GetBuffersWithFormat(pDrawable, &width, &height,
|
||||||
|
attachments, stuff->count, &count);
|
||||||
|
|
||||||
|
send_buffers_reply(client, pDrawable, buffers, count, width, height);
|
||||||
|
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
@ -313,6 +347,8 @@ ProcDRI2Dispatch (ClientPtr client)
|
||||||
return ProcDRI2GetBuffers(client);
|
return ProcDRI2GetBuffers(client);
|
||||||
case X_DRI2CopyRegion:
|
case X_DRI2CopyRegion:
|
||||||
return ProcDRI2CopyRegion(client);
|
return ProcDRI2CopyRegion(client);
|
||||||
|
case X_DRI2GetBuffersWithFormat:
|
||||||
|
return ProcDRI2GetBuffersWithFormat(client);
|
||||||
default:
|
default:
|
||||||
return BadRequest;
|
return BadRequest;
|
||||||
}
|
}
|
||||||
|
|
|
@ -223,7 +223,7 @@ LoaderOpen(const char *module, const char *cname, int handle,
|
||||||
* Find a free handle.
|
* Find a free handle.
|
||||||
*/
|
*/
|
||||||
new_handle = 1;
|
new_handle = 1;
|
||||||
while (refCount[new_handle] && new_handle < MAX_HANDLE)
|
while (new_handle < MAX_HANDLE && refCount[new_handle])
|
||||||
new_handle++;
|
new_handle++;
|
||||||
|
|
||||||
if (new_handle == MAX_HANDLE) {
|
if (new_handle == MAX_HANDLE) {
|
||||||
|
|
|
@ -399,7 +399,7 @@ BEGIN {
|
||||||
sub(/[^a-zA-Z0-9_].*/, "", symbol);
|
sub(/[^a-zA-Z0-9_].*/, "", symbol);
|
||||||
|
|
||||||
#print;
|
#print;
|
||||||
printf(" &%s,\n", symbol);
|
printf(" (void *) &%s,\n", symbol);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -353,7 +353,7 @@ xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotati
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Only upload when needed, to avoid unneeded delays. */
|
/* Only upload when needed, to avoid unneeded delays. */
|
||||||
if (!crtc->active)
|
if (crtc->active)
|
||||||
crtc->funcs->gamma_set(crtc, crtc->gamma_red, crtc->gamma_green,
|
crtc->funcs->gamma_set(crtc, crtc->gamma_red, crtc->gamma_green,
|
||||||
crtc->gamma_blue, crtc->gamma_size);
|
crtc->gamma_blue, crtc->gamma_size);
|
||||||
|
|
||||||
|
@ -2228,19 +2228,19 @@ xf86CrtcSetInitialGamma(xf86CrtcPtr crtc, float gamma_red, float gamma_green,
|
||||||
red[i] = i << 8;
|
red[i] = i << 8;
|
||||||
else
|
else
|
||||||
red[i] = (CARD16)(pow((double)i/(double)(size - 1),
|
red[i] = (CARD16)(pow((double)i/(double)(size - 1),
|
||||||
(double)gamma_red) * (double)(size - 1) * 256);
|
1. / (double)gamma_red) * (double)(size - 1) * 256);
|
||||||
|
|
||||||
if (gamma_green == 1.0)
|
if (gamma_green == 1.0)
|
||||||
green[i] = i << 8;
|
green[i] = i << 8;
|
||||||
else
|
else
|
||||||
green[i] = (CARD16)(pow((double)i/(double)(size - 1),
|
green[i] = (CARD16)(pow((double)i/(double)(size - 1),
|
||||||
(double)gamma_green) * (double)(size - 1) * 256);
|
1. / (double)gamma_green) * (double)(size - 1) * 256);
|
||||||
|
|
||||||
if (gamma_blue == 1.0)
|
if (gamma_blue == 1.0)
|
||||||
blue[i] = i << 8;
|
blue[i] = i << 8;
|
||||||
else
|
else
|
||||||
blue[i] = (CARD16)(pow((double)i/(double)(size - 1),
|
blue[i] = (CARD16)(pow((double)i/(double)(size - 1),
|
||||||
(double)gamma_blue) * (double)(size - 1) * 256);
|
1. / (double)gamma_blue) * (double)(size - 1) * 256);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Default size is 256, so anything else is failure. */
|
/* Default size is 256, so anything else is failure. */
|
||||||
|
@ -2549,18 +2549,23 @@ Bool
|
||||||
xf86SetDesiredModes (ScrnInfoPtr scrn)
|
xf86SetDesiredModes (ScrnInfoPtr scrn)
|
||||||
{
|
{
|
||||||
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||||
|
xf86CrtcPtr crtc = config->crtc[0];
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
xf86PrepareOutputs(scrn);
|
/* A driver with this hook will take care of this */
|
||||||
xf86PrepareCrtcs(scrn);
|
if (!crtc->funcs->set_mode_major) {
|
||||||
|
xf86PrepareOutputs(scrn);
|
||||||
|
xf86PrepareCrtcs(scrn);
|
||||||
|
}
|
||||||
|
|
||||||
for (c = 0; c < config->num_crtc; c++)
|
for (c = 0; c < config->num_crtc; c++)
|
||||||
{
|
{
|
||||||
xf86CrtcPtr crtc = config->crtc[c];
|
|
||||||
xf86OutputPtr output = NULL;
|
xf86OutputPtr output = NULL;
|
||||||
int o;
|
int o;
|
||||||
RRTransformPtr transform;
|
RRTransformPtr transform;
|
||||||
|
|
||||||
|
crtc = config->crtc[c];
|
||||||
|
|
||||||
/* Skip disabled CRTCs */
|
/* Skip disabled CRTCs */
|
||||||
if (!crtc->enabled)
|
if (!crtc->enabled)
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -160,6 +160,11 @@ static Bool quirk_detailed_v_in_cm (int scrnIndex, xf86MonPtr DDC)
|
||||||
DDC->vendor.prod_id == 47360)
|
DDC->vendor.prod_id == 47360)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
/* Bug #21750: Samsung Syncmaster 2333HD */
|
||||||
|
if (memcmp (DDC->vendor.name, "SAM", 4) == 0 &&
|
||||||
|
DDC->vendor.prod_id == 1157)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -636,6 +641,85 @@ DDCModesFromCVT(int scrnIndex, struct cvt_timings *t)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static const struct {
|
||||||
|
short w;
|
||||||
|
short h;
|
||||||
|
short r;
|
||||||
|
short rb;
|
||||||
|
} EstIIIModes[] = {
|
||||||
|
/* byte 6 */
|
||||||
|
{ 640, 350, 85, 0 },
|
||||||
|
{ 640, 400, 85, 0 },
|
||||||
|
{ 720, 400, 85, 0 },
|
||||||
|
{ 640, 480, 85, 0 },
|
||||||
|
{ 848, 480, 60, 0 },
|
||||||
|
{ 800, 600, 85, 0 },
|
||||||
|
{ 1024, 768, 85, 0 },
|
||||||
|
{ 1152, 864, 75, 0 },
|
||||||
|
/* byte 7 */
|
||||||
|
{ 1280, 768, 60, 1 },
|
||||||
|
{ 1280, 768, 60, 0 },
|
||||||
|
{ 1280, 768, 75, 0 },
|
||||||
|
{ 1280, 768, 85, 0 },
|
||||||
|
{ 1280, 960, 60, 0 },
|
||||||
|
{ 1280, 960, 85, 0 },
|
||||||
|
{ 1280, 1024, 60, 0 },
|
||||||
|
{ 1280, 1024, 85, 0 },
|
||||||
|
/* byte 8 */
|
||||||
|
{ 1360, 768, 60, 0 },
|
||||||
|
{ 1440, 900, 60, 1 },
|
||||||
|
{ 1440, 900, 60, 0 },
|
||||||
|
{ 1440, 900, 75, 0 },
|
||||||
|
{ 1440, 900, 85, 0 },
|
||||||
|
{ 1400, 1050, 60, 1 },
|
||||||
|
{ 1400, 1050, 60, 0 },
|
||||||
|
{ 1400, 1050, 75, 0 },
|
||||||
|
/* byte 9 */
|
||||||
|
{ 1400, 1050, 85, 0 },
|
||||||
|
{ 1680, 1050, 60, 1 },
|
||||||
|
{ 1680, 1050, 60, 0 },
|
||||||
|
{ 1680, 1050, 75, 0 },
|
||||||
|
{ 1680, 1050, 85, 0 },
|
||||||
|
{ 1600, 1200, 60, 0 },
|
||||||
|
{ 1600, 1200, 65, 0 },
|
||||||
|
{ 1600, 1200, 70, 0 },
|
||||||
|
/* byte 10 */
|
||||||
|
{ 1600, 1200, 75, 0 },
|
||||||
|
{ 1600, 1200, 85, 0 },
|
||||||
|
{ 1792, 1344, 60, 0 },
|
||||||
|
{ 1792, 1344, 85, 0 },
|
||||||
|
{ 1856, 1392, 60, 0 },
|
||||||
|
{ 1856, 1392, 75, 0 },
|
||||||
|
{ 1920, 1200, 60, 1 },
|
||||||
|
{ 1920, 1200, 60, 0 },
|
||||||
|
/* byte 11 */
|
||||||
|
{ 1920, 1200, 75, 0 },
|
||||||
|
{ 1920, 1200, 85, 0 },
|
||||||
|
{ 1920, 1440, 60, 0 },
|
||||||
|
{ 1920, 1440, 75, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
static DisplayModePtr
|
||||||
|
DDCModesFromEstIII(unsigned char *est)
|
||||||
|
{
|
||||||
|
DisplayModePtr modes = NULL;
|
||||||
|
int i, j, m;
|
||||||
|
|
||||||
|
for (i = 0; i < 6; i++) {
|
||||||
|
for (j = 7; j > 0; j--) {
|
||||||
|
if (est[i] & (1 << j)) {
|
||||||
|
m = (i * 8) + (7 - j);
|
||||||
|
modes = xf86ModesAdd(modes,
|
||||||
|
FindDMTMode(EstIIIModes[m].w,
|
||||||
|
EstIIIModes[m].h,
|
||||||
|
EstIIIModes[m].r,
|
||||||
|
EstIIIModes[m].rb));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return modes;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is only valid when the sink claims to be continuous-frequency
|
* This is only valid when the sink claims to be continuous-frequency
|
||||||
|
@ -806,6 +890,7 @@ xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC)
|
||||||
for (i = 0; i < DET_TIMINGS; i++) {
|
for (i = 0; i < DET_TIMINGS; i++) {
|
||||||
struct detailed_monitor_section *det_mon = &DDC->det_mon[i];
|
struct detailed_monitor_section *det_mon = &DDC->det_mon[i];
|
||||||
|
|
||||||
|
Mode = NULL;
|
||||||
switch (det_mon->type) {
|
switch (det_mon->type) {
|
||||||
case DT:
|
case DT:
|
||||||
Mode = DDCModeFromDetailedTiming(scrnIndex,
|
Mode = DDCModeFromDetailedTiming(scrnIndex,
|
||||||
|
@ -813,22 +898,23 @@ xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC)
|
||||||
preferred,
|
preferred,
|
||||||
quirks);
|
quirks);
|
||||||
preferred = FALSE;
|
preferred = FALSE;
|
||||||
Modes = xf86ModesAdd(Modes, Mode);
|
|
||||||
break;
|
break;
|
||||||
case DS_STD_TIMINGS:
|
case DS_STD_TIMINGS:
|
||||||
Mode = DDCModesFromStandardTiming(det_mon->section.std_t,
|
Mode = DDCModesFromStandardTiming(det_mon->section.std_t,
|
||||||
quirks, timing_level, rb);
|
quirks, timing_level, rb);
|
||||||
Modes = xf86ModesAdd(Modes, Mode);
|
|
||||||
break;
|
break;
|
||||||
#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
|
#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
|
||||||
case DS_CVT:
|
case DS_CVT:
|
||||||
Mode = DDCModesFromCVT(scrnIndex, det_mon->section.cvt);
|
Mode = DDCModesFromCVT(scrnIndex, det_mon->section.cvt);
|
||||||
Modes = xf86ModesAdd(Modes, Mode);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
case DS_EST_III:
|
||||||
|
Mode = DDCModesFromEstIII(det_mon->section.est_iii);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Modes = xf86ModesAdd(Modes, Mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add established timings */
|
/* Add established timings */
|
||||||
|
|
|
@ -55,6 +55,13 @@ typedef struct _xf86RandR12Info {
|
||||||
int pointerY;
|
int pointerY;
|
||||||
Rotation rotation; /* current mode */
|
Rotation rotation; /* current mode */
|
||||||
Rotation supported_rotations; /* driver supported */
|
Rotation supported_rotations; /* driver supported */
|
||||||
|
|
||||||
|
/* Used to wrap EnterVT so we can re-probe the outputs when a laptop unsuspends
|
||||||
|
* (actually, any time that we switch back into our VT).
|
||||||
|
*
|
||||||
|
* See https://bugs.freedesktop.org/show_bug.cgi?id=21554
|
||||||
|
*/
|
||||||
|
xf86EnterVTProc *orig_EnterVT;
|
||||||
} XF86RandRInfoRec, *XF86RandRInfoPtr;
|
} XF86RandRInfoRec, *XF86RandRInfoPtr;
|
||||||
|
|
||||||
#ifdef RANDR_12_INTERFACE
|
#ifdef RANDR_12_INTERFACE
|
||||||
|
@ -1703,7 +1710,7 @@ gamma_to_ramp(float gamma, CARD16 *ramp, int size)
|
||||||
if (gamma == 1.0)
|
if (gamma == 1.0)
|
||||||
ramp[i] = i << 8;
|
ramp[i] = i << 8;
|
||||||
else
|
else
|
||||||
ramp[i] = (CARD16)(pow((double)i / (double)(size - 1), gamma)
|
ramp[i] = (CARD16)(pow((double)i / (double)(size - 1), 1. / gamma)
|
||||||
* (double)(size - 1) * 256);
|
* (double)(size - 1) * 256);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1740,14 +1747,31 @@ xf86RandR12ChangeGamma(int scrnIndex, Gamma gamma)
|
||||||
|
|
||||||
xfree(points);
|
xfree(points);
|
||||||
|
|
||||||
|
pScrn->gamma = gamma;
|
||||||
|
|
||||||
return Success;
|
return Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Bool
|
||||||
|
xf86RandR12EnterVT (int screen_index, int flags)
|
||||||
|
{
|
||||||
|
ScreenPtr pScreen = screenInfo.screens[screen_index];
|
||||||
|
XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen);
|
||||||
|
|
||||||
|
if (randrp->orig_EnterVT) {
|
||||||
|
if (!randrp->orig_EnterVT (screen_index, flags))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RRGetInfo (pScreen, TRUE); /* force a re-probe of outputs and notify clients about changes */
|
||||||
|
}
|
||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
xf86RandR12Init12 (ScreenPtr pScreen)
|
xf86RandR12Init12 (ScreenPtr pScreen)
|
||||||
{
|
{
|
||||||
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
|
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
|
||||||
rrScrPrivPtr rp = rrGetScrPriv(pScreen);
|
rrScrPrivPtr rp = rrGetScrPriv(pScreen);
|
||||||
|
XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen);
|
||||||
|
|
||||||
rp->rrGetInfo = xf86RandR12GetInfo12;
|
rp->rrGetInfo = xf86RandR12GetInfo12;
|
||||||
rp->rrScreenSetSize = xf86RandR12ScreenSetSize;
|
rp->rrScreenSetSize = xf86RandR12ScreenSetSize;
|
||||||
|
@ -1765,6 +1789,10 @@ xf86RandR12Init12 (ScreenPtr pScreen)
|
||||||
rp->rrSetConfig = NULL;
|
rp->rrSetConfig = NULL;
|
||||||
pScrn->PointerMoved = xf86RandR12PointerMoved;
|
pScrn->PointerMoved = xf86RandR12PointerMoved;
|
||||||
pScrn->ChangeGamma = xf86RandR12ChangeGamma;
|
pScrn->ChangeGamma = xf86RandR12ChangeGamma;
|
||||||
|
|
||||||
|
randrp->orig_EnterVT = pScrn->EnterVT;
|
||||||
|
pScrn->EnterVT = xf86RandR12EnterVT;
|
||||||
|
|
||||||
if (!xf86RandR12CreateObjects12 (pScreen))
|
if (!xf86RandR12CreateObjects12 (pScreen))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
|
|
@ -168,7 +168,8 @@
|
||||||
|
|
||||||
#endif /* !defined(DEBUGPCI) */
|
#endif /* !defined(DEBUGPCI) */
|
||||||
|
|
||||||
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \
|
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
|
||||||
|
defined(__OpenBSD__) || defined(__NetBSD__) || \
|
||||||
defined(__DragonFly__) || defined(__sun) || defined(__GNU__)
|
defined(__DragonFly__) || defined(__sun) || defined(__GNU__)
|
||||||
#define ARCH_PCI_INIT bsdPciInit
|
#define ARCH_PCI_INIT bsdPciInit
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -63,6 +63,10 @@
|
||||||
# include "xf86_OSlib.h"
|
# include "xf86_OSlib.h"
|
||||||
# include "inputstr.h"
|
# include "inputstr.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_STROPTS_H
|
||||||
|
# include <stropts.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Linux libc5 defines FASYNC, but not O_ASYNC. Don't know if it is
|
* Linux libc5 defines FASYNC, but not O_ASYNC. Don't know if it is
|
||||||
* functional or not.
|
* functional or not.
|
||||||
|
@ -139,6 +143,7 @@ xf86InstallSIGIOHandler(int fd, void (*f)(int, void *), void *closure)
|
||||||
struct sigaction osa;
|
struct sigaction osa;
|
||||||
int i;
|
int i;
|
||||||
int blocked;
|
int blocked;
|
||||||
|
int installed = FALSE;
|
||||||
|
|
||||||
for (i = 0; i < MAX_FUNCS; i++)
|
for (i = 0; i < MAX_FUNCS; i++)
|
||||||
{
|
{
|
||||||
|
@ -147,15 +152,30 @@ xf86InstallSIGIOHandler(int fd, void (*f)(int, void *), void *closure)
|
||||||
if (xf86IsPipe (fd))
|
if (xf86IsPipe (fd))
|
||||||
return 0;
|
return 0;
|
||||||
blocked = xf86BlockSIGIO();
|
blocked = xf86BlockSIGIO();
|
||||||
|
#ifdef O_ASYNC
|
||||||
if (fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) | O_ASYNC) == -1) {
|
if (fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) | O_ASYNC) == -1) {
|
||||||
xf86Msg(X_WARNING, "fcntl(%d, O_ASYNC): %s\n",
|
xf86Msg(X_WARNING, "fcntl(%d, O_ASYNC): %s\n",
|
||||||
fd, strerror(errno));
|
fd, strerror(errno));
|
||||||
xf86UnblockSIGIO(blocked);
|
} else {
|
||||||
return 0;
|
if (fcntl(fd, F_SETOWN, getpid()) == -1) {
|
||||||
|
xf86Msg(X_WARNING, "fcntl(%d, F_SETOWN): %s\n",
|
||||||
|
fd, strerror(errno));
|
||||||
|
} else {
|
||||||
|
installed = TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (fcntl(fd, F_SETOWN, getpid()) == -1) {
|
#endif
|
||||||
xf86Msg(X_WARNING, "fcntl(%d, F_SETOWN): %s\n",
|
#ifdef I_SETSIG /* System V Streams - used on Solaris for input devices */
|
||||||
fd, strerror(errno));
|
if (!installed && isastream(fd)) {
|
||||||
|
if (ioctl(fd, I_SETSIG, S_INPUT | S_ERROR | S_HANGUP) == -1) {
|
||||||
|
xf86Msg(X_WARNING, "fcntl(%d, I_SETSIG): %s\n",
|
||||||
|
fd, strerror(errno));
|
||||||
|
} else {
|
||||||
|
installed = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (!installed) {
|
||||||
xf86UnblockSIGIO(blocked);
|
xf86UnblockSIGIO(blocked);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -221,7 +241,17 @@ xf86RemoveSIGIOHandler(int fd)
|
||||||
}
|
}
|
||||||
if (ret)
|
if (ret)
|
||||||
{
|
{
|
||||||
|
#ifdef O_ASYNC
|
||||||
fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) & ~O_ASYNC);
|
fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) & ~O_ASYNC);
|
||||||
|
#endif
|
||||||
|
#ifdef I_SETSIG
|
||||||
|
if (isastream(fd)) {
|
||||||
|
if (ioctl(fd, I_SETSIG, 0) == -1) {
|
||||||
|
xf86Msg(X_WARNING, "fcntl(%d, I_SETSIG, 0): %s\n",
|
||||||
|
fd, strerror(errno));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
xf86SigIOMax = max;
|
xf86SigIOMax = max;
|
||||||
xf86SigIOMaxFd = maxfd;
|
xf86SigIOMaxFd = maxfd;
|
||||||
if (!max)
|
if (!max)
|
||||||
|
|
|
@ -43,7 +43,8 @@
|
||||||
/* Avoid Imakefile changes */
|
/* Avoid Imakefile changes */
|
||||||
#include "bus/Pci.h"
|
#include "bus/Pci.h"
|
||||||
|
|
||||||
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || \
|
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
|
||||||
|
defined(__NetBSD__) || defined(__OpenBSD__) || \
|
||||||
defined(__DragonFly__) || defined(__sun) || defined(__GNU__)
|
defined(__DragonFly__) || defined(__sun) || defined(__GNU__)
|
||||||
#define xf86StdAccResFromOS xf86AccResFromOS
|
#define xf86StdAccResFromOS xf86AccResFromOS
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -4,12 +4,11 @@ else
|
||||||
VTSW_SRC = $(srcdir)/../shared/VTsw_noop.c
|
VTSW_SRC = $(srcdir)/../shared/VTsw_noop.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# TODO: Don't build agpgart on SPARC
|
if AGP
|
||||||
#if defined(i386Architecture) || defined(AMD64Architecture)
|
|
||||||
AGP_SRC = sun_agp.c
|
AGP_SRC = sun_agp.c
|
||||||
#else
|
else
|
||||||
#AGP_SRC = $(srcdir)/../shared/agp_noop.c
|
AGP_SRC = $(srcdir)/../shared/agp_noop.c
|
||||||
#endif
|
endif
|
||||||
|
|
||||||
SOLARIS_INOUT_SRC = solaris-@SOLARIS_INOUT_ARCH@.S
|
SOLARIS_INOUT_SRC = solaris-@SOLARIS_INOUT_ARCH@.S
|
||||||
DISTCLEANFILES = solaris-@SOLARIS_INOUT_ARCH@.il
|
DISTCLEANFILES = solaris-@SOLARIS_INOUT_ARCH@.il
|
||||||
|
@ -21,13 +20,14 @@ noinst_LTLIBRARIES = libsolaris.la
|
||||||
libsolaris_la_SOURCES = sun_init.c \
|
libsolaris_la_SOURCES = sun_init.c \
|
||||||
sun_vid.c sun_bell.c $(AGP_SRC) sun_apm.c \
|
sun_vid.c sun_bell.c $(AGP_SRC) sun_apm.c \
|
||||||
$(srcdir)/../shared/kmod_noop.c \
|
$(srcdir)/../shared/kmod_noop.c \
|
||||||
$(srcdir)/../shared/posix_tty.c $(srcdir)/../shared/sigiostubs.c \
|
$(srcdir)/../shared/posix_tty.c \
|
||||||
|
$(srcdir)/../shared/sigio.c \
|
||||||
$(srcdir)/../shared/stdResource.c \
|
$(srcdir)/../shared/stdResource.c \
|
||||||
$(srcdir)/../shared/vidmem.c \
|
$(srcdir)/../shared/vidmem.c \
|
||||||
$(VTSW_SRC)
|
$(VTSW_SRC)
|
||||||
nodist_libsolaris_la_SOURCES = $(SOLARIS_INOUT_SRC)
|
nodist_libsolaris_la_SOURCES = $(SOLARIS_INOUT_SRC)
|
||||||
|
|
||||||
sdk_HEADERS = agpgart.h
|
sdk_HEADERS =
|
||||||
nodist_sdk_HEADERS = solaris-@SOLARIS_INOUT_ARCH@.il
|
nodist_sdk_HEADERS = solaris-@SOLARIS_INOUT_ARCH@.il
|
||||||
|
|
||||||
AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(XORG_CFLAGS) $(DIX_CFLAGS)
|
AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(XORG_CFLAGS) $(DIX_CFLAGS)
|
||||||
|
|
|
@ -1,108 +0,0 @@
|
||||||
/*
|
|
||||||
* AGPGART module version 0.99
|
|
||||||
* Copyright (C) 1999 Jeff Hartmann
|
|
||||||
* Copyright (C) 1999 Precision Insight, Inc.
|
|
||||||
* Copyright (C) 1999 Xi Graphics, Inc.
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
|
||||||
* to deal in the Software without restriction, including without limitation
|
|
||||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
||||||
* and/or sell copies of the Software, and to permit persons to whom the
|
|
||||||
* Software is furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included
|
|
||||||
* in all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
||||||
* JEFF HARTMANN, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM,
|
|
||||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
||||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
|
|
||||||
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
* copy of this software and associated documentation files (the
|
|
||||||
* "Software"), to deal in the Software without restriction, including
|
|
||||||
* without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
* distribute, and/or sell copies of the Software, and to permit persons
|
|
||||||
* to whom the Software is furnished to do so, provided that the above
|
|
||||||
* copyright notice(s) and this permission notice appear in all copies of
|
|
||||||
* the Software and that both the above copyright notice(s) and this
|
|
||||||
* permission notice appear in supporting documentation.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
||||||
* OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
* HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
|
|
||||||
* INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
|
|
||||||
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
|
||||||
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
|
||||||
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
*
|
|
||||||
* Except as contained in this notice, the name of a copyright holder
|
|
||||||
* shall not be used in advertising or otherwise to promote the sale, use
|
|
||||||
* or other dealings in this Software without prior written authorization
|
|
||||||
* of the copyright holder.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _AGPGART_H
|
|
||||||
#define _AGPGART_H
|
|
||||||
|
|
||||||
#pragma ident "@(#)agpgart.h 1.1 05/04/04 SMI"
|
|
||||||
|
|
||||||
typedef struct _agp_version {
|
|
||||||
uint16_t agpv_major;
|
|
||||||
uint16_t agpv_minor;
|
|
||||||
} agp_version_t;
|
|
||||||
|
|
||||||
typedef struct _agp_info {
|
|
||||||
agp_version_t agpi_version;
|
|
||||||
uint32_t agpi_devid; /* bridge vendor + device */
|
|
||||||
uint32_t agpi_mode; /* mode of bridge */
|
|
||||||
ulong_t agpi_aperbase; /* base of aperture */
|
|
||||||
size_t agpi_apersize; /* aperture range size */
|
|
||||||
uint32_t agpi_pgtotal; /* max number of pages in aperture */
|
|
||||||
uint32_t agpi_pgsystem; /* same as pg_total */
|
|
||||||
uint32_t agpi_pgused; /* NUMBER of currently used pages */
|
|
||||||
} agp_info_t;
|
|
||||||
|
|
||||||
typedef struct _agp_setup {
|
|
||||||
uint32_t agps_mode;
|
|
||||||
} agp_setup_t;
|
|
||||||
|
|
||||||
typedef struct _agp_allocate {
|
|
||||||
int32_t agpa_key;
|
|
||||||
uint32_t agpa_pgcount;
|
|
||||||
uint32_t agpa_type;
|
|
||||||
uint32_t agpa_physical; /* for i810/830 driver */
|
|
||||||
} agp_allocate_t;
|
|
||||||
|
|
||||||
typedef struct _agp_bind {
|
|
||||||
int32_t agpb_key;
|
|
||||||
uint32_t agpb_pgstart;
|
|
||||||
} agp_bind_t;
|
|
||||||
|
|
||||||
typedef struct _agp_unbind {
|
|
||||||
int32_t agpu_key;
|
|
||||||
uint32_t agpu_pri; /* no use in solaris */
|
|
||||||
} agp_unbind_t;
|
|
||||||
|
|
||||||
#define AGPIOC_BASE 'G'
|
|
||||||
#define AGPIOC_INFO _IOR(AGPIOC_BASE, 0, 100)
|
|
||||||
#define AGPIOC_ACQUIRE _IO(AGPIOC_BASE, 1)
|
|
||||||
#define AGPIOC_RELEASE _IO(AGPIOC_BASE, 2)
|
|
||||||
#define AGPIOC_SETUP _IOW(AGPIOC_BASE, 3, agp_setup_t)
|
|
||||||
#define AGPIOC_ALLOCATE _IOWR(AGPIOC_BASE, 4, agp_allocate_t)
|
|
||||||
#define AGPIOC_DEALLOCATE _IOW(AGPIOC_BASE, 5, int)
|
|
||||||
#define AGPIOC_BIND _IOW(AGPIOC_BASE, 6, agp_bind_t)
|
|
||||||
#define AGPIOC_UNBIND _IOW(AGPIOC_BASE, 7, agp_unbind_t)
|
|
||||||
|
|
||||||
#define AGP_DEVICE "/dev/agpgart"
|
|
||||||
|
|
||||||
#endif /* _AGPGART_H */
|
|
|
@ -32,7 +32,7 @@
|
||||||
#define _ASM
|
#define _ASM
|
||||||
#include <sys/asm_linkage.h>
|
#include <sys/asm_linkage.h>
|
||||||
#define FUNCTION_START(f,n) ENTRY(f)
|
#define FUNCTION_START(f,n) ENTRY(f)
|
||||||
#define FUNCTION_END(f) SET_SIZE(f)
|
#define FUNCTION_END(f) ret; SET_SIZE(f)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
FUNCTION_START(inb,4)
|
FUNCTION_START(inb,4)
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#define _ASM
|
#define _ASM
|
||||||
#include <sys/asm_linkage.h>
|
#include <sys/asm_linkage.h>
|
||||||
#define FUNCTION_START(f,n) ENTRY(f)
|
#define FUNCTION_START(f,n) ENTRY(f)
|
||||||
#define FUNCTION_END(f) SET_SIZE(f)
|
#define FUNCTION_END(f) ret; SET_SIZE(f)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
FUNCTION_START(inb,4)
|
FUNCTION_START(inb,4)
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
#define _ASM
|
#define _ASM
|
||||||
#include <sys/asm_linkage.h>
|
#include <sys/asm_linkage.h>
|
||||||
#define FUNCTION_START(f,n) ENTRY(f)
|
#define FUNCTION_START(f,n) ENTRY(f)
|
||||||
#define FUNCTION_END(f) SET_SIZE(f)
|
#define FUNCTION_END(f) retl; nop; SET_SIZE(f)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Converted from common/compiler.h gcc inline format to Sun cc inline
|
/* Converted from common/compiler.h gcc inline format to Sun cc inline
|
||||||
|
|
|
@ -34,8 +34,6 @@
|
||||||
* of the copyright holder.
|
* of the copyright holder.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma ident "@(#)sun_agp.c 1.1 05/04/04 SMI"
|
|
||||||
|
|
||||||
#ifdef HAVE_XORG_CONFIG_H
|
#ifdef HAVE_XORG_CONFIG_H
|
||||||
#include <xorg-config.h>
|
#include <xorg-config.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -49,11 +47,8 @@
|
||||||
#include <sys/ioccom.h>
|
#include <sys/ioccom.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include "agpgart.h"
|
#include <sys/agpgart.h>
|
||||||
|
|
||||||
#ifndef AGP_DEVICE
|
|
||||||
#define AGP_DEVICE "/dev/agpgart"
|
|
||||||
#endif
|
|
||||||
/* AGP page size is independent of the host page size. */
|
/* AGP page size is independent of the host page size. */
|
||||||
#ifndef AGP_PAGE_SIZE
|
#ifndef AGP_PAGE_SIZE
|
||||||
#define AGP_PAGE_SIZE 4096
|
#define AGP_PAGE_SIZE 4096
|
||||||
|
|
|
@ -277,8 +277,8 @@ vgaUninstallColormap(pmap)
|
||||||
if ( pmap != miInstalledMaps[pmap->pScreen->myNum] )
|
if ( pmap != miInstalledMaps[pmap->pScreen->myNum] )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
defColormap = (ColormapPtr) LookupIDByType( pmap->pScreen->defColormap,
|
dixLookupResourceByType((pointer *)&defColormap, pmap->pScreen->defColormap,
|
||||||
RT_COLORMAP);
|
RT_COLORMAP, serverClient, DixInstallAccess);
|
||||||
|
|
||||||
if (defColormap == miInstalledMaps[pmap->pScreen->myNum])
|
if (defColormap == miInstalledMaps[pmap->pScreen->myNum])
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
* to deal in the Software without restriction, including without limitation
|
* to deal in the Software without restriction, including without limitation
|
||||||
* on the rights to use, copy, modify, merge, publish, distribute, sub
|
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
* license, and/or sell copies of the Software, and to permit persons to whom
|
* and/or sell copies of the Software, and to permit persons to whom the
|
||||||
* the Software is furnished to do so, subject to the following conditions:
|
* Software is furnished to do so, subject to the following conditions:
|
||||||
*
|
*
|
||||||
* The above copyright notice and this permission notice (including the next
|
* The above copyright notice and this permission notice (including the next
|
||||||
* paragraph) shall be included in all copies or substantial portions of the
|
* paragraph) shall be included in all copies or substantial portions of the
|
||||||
|
@ -14,10 +14,11 @@
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
* THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
* DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _CFB8_16_H
|
#ifndef _CFB8_16_H
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
* to deal in the Software without restriction, including without limitation
|
* to deal in the Software without restriction, including without limitation
|
||||||
* on the rights to use, copy, modify, merge, publish, distribute, sub
|
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
* license, and/or sell copies of the Software, and to permit persons to whom
|
* and/or sell copies of the Software, and to permit persons to whom the
|
||||||
* the Software is furnished to do so, subject to the following conditions:
|
* Software is furnished to do so, subject to the following conditions:
|
||||||
*
|
*
|
||||||
* The above copyright notice and this permission notice (including the next
|
* The above copyright notice and this permission notice (including the next
|
||||||
* paragraph) shall be included in all copies or substantial portions of the
|
* paragraph) shall be included in all copies or substantial portions of the
|
||||||
|
@ -14,10 +14,11 @@
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
* THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
* DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_XORG_CONFIG_H
|
#ifdef HAVE_XORG_CONFIG_H
|
||||||
|
|
|
@ -242,16 +242,16 @@ xnestSetInstalledColormapWindows(ScreenPtr pScreen)
|
||||||
WindowPtr pWin;
|
WindowPtr pWin;
|
||||||
Visual *visual;
|
Visual *visual;
|
||||||
ColormapPtr pCmap;
|
ColormapPtr pCmap;
|
||||||
|
|
||||||
pWin = xnestWindowPtr(icws.windows[0]);
|
pWin = xnestWindowPtr(icws.windows[0]);
|
||||||
visual = xnestVisualFromID(pScreen, wVisual(pWin));
|
visual = xnestVisualFromID(pScreen, wVisual(pWin));
|
||||||
|
|
||||||
if (visual == xnestDefaultVisual(pScreen))
|
if (visual == xnestDefaultVisual(pScreen))
|
||||||
pCmap = (ColormapPtr)LookupIDByType(wColormap(pWin),
|
dixLookupResourceByType((pointer *)&pCmap, wColormap(pWin),
|
||||||
RT_COLORMAP);
|
RT_COLORMAP, serverClient, DixUseAccess);
|
||||||
else
|
else
|
||||||
pCmap = (ColormapPtr)LookupIDByType(pScreen->defColormap,
|
dixLookupResourceByType((pointer *)&pCmap, pScreen->defColormap,
|
||||||
RT_COLORMAP);
|
RT_COLORMAP, serverClient, DixUseAccess);
|
||||||
|
|
||||||
XSetWindowColormap(xnestDisplay,
|
XSetWindowColormap(xnestDisplay,
|
||||||
xnestDefaultWindows[pScreen->myNum],
|
xnestDefaultWindows[pScreen->myNum],
|
||||||
|
@ -302,7 +302,8 @@ xnestDirectInstallColormaps(ScreenPtr pScreen)
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
ColormapPtr pCmap;
|
ColormapPtr pCmap;
|
||||||
|
|
||||||
pCmap = (ColormapPtr)LookupIDByType(pCmapIDs[i], RT_COLORMAP);
|
dixLookupResourceByType((pointer *)&pCmap, pCmapIDs[i], RT_COLORMAP,
|
||||||
|
serverClient, DixInstallAccess);
|
||||||
if (pCmap)
|
if (pCmap)
|
||||||
XInstallColormap(xnestDisplay, xnestColormap(pCmap));
|
XInstallColormap(xnestDisplay, xnestColormap(pCmap));
|
||||||
}
|
}
|
||||||
|
@ -321,7 +322,8 @@ xnestDirectUninstallColormaps(ScreenPtr pScreen)
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
ColormapPtr pCmap;
|
ColormapPtr pCmap;
|
||||||
|
|
||||||
pCmap = (ColormapPtr)LookupIDByType(pCmapIDs[i], RT_COLORMAP);
|
dixLookupResourceByType((pointer *)&pCmap, pCmapIDs[i], RT_COLORMAP,
|
||||||
|
serverClient, DixUninstallAccess);
|
||||||
if (pCmap)
|
if (pCmap)
|
||||||
XUninstallColormap(xnestDisplay, xnestColormap(pCmap));
|
XUninstallColormap(xnestDisplay, xnestColormap(pCmap));
|
||||||
}
|
}
|
||||||
|
@ -365,8 +367,10 @@ xnestUninstallColormap(ColormapPtr pCmap)
|
||||||
{
|
{
|
||||||
if (pCmap->mid != pCmap->pScreen->defColormap)
|
if (pCmap->mid != pCmap->pScreen->defColormap)
|
||||||
{
|
{
|
||||||
pCurCmap = (ColormapPtr)LookupIDByType(pCmap->pScreen->defColormap,
|
dixLookupResourceByType((pointer *)&pCurCmap,
|
||||||
RT_COLORMAP);
|
pCmap->pScreen->defColormap,
|
||||||
|
RT_COLORMAP,
|
||||||
|
serverClient, DixInstallAccess);
|
||||||
(*pCmap->pScreen->InstallColormap)(pCurCmap);
|
(*pCmap->pScreen->InstallColormap)(pCurCmap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,7 +93,8 @@ xnestCreateWindow(WindowPtr pWin)
|
||||||
visual = xnestVisualFromID(pWin->drawable.pScreen, wVisual(pWin));
|
visual = xnestVisualFromID(pWin->drawable.pScreen, wVisual(pWin));
|
||||||
mask |= CWColormap;
|
mask |= CWColormap;
|
||||||
if (pWin->optional->colormap) {
|
if (pWin->optional->colormap) {
|
||||||
pCmap = (ColormapPtr)LookupIDByType(wColormap(pWin), RT_COLORMAP);
|
dixLookupResourceByType((pointer *)&pCmap, wColormap(pWin),
|
||||||
|
RT_COLORMAP, serverClient, DixUseAccess);
|
||||||
attributes.colormap = xnestColormap(pCmap);
|
attributes.colormap = xnestColormap(pCmap);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -104,7 +105,8 @@ xnestCreateWindow(WindowPtr pWin)
|
||||||
}
|
}
|
||||||
else { /* root windows have their own colormaps at creation time */
|
else { /* root windows have their own colormaps at creation time */
|
||||||
visual = xnestVisualFromID(pWin->drawable.pScreen, wVisual(pWin));
|
visual = xnestVisualFromID(pWin->drawable.pScreen, wVisual(pWin));
|
||||||
pCmap = (ColormapPtr)LookupIDByType(wColormap(pWin), RT_COLORMAP);
|
dixLookupResourceByType((pointer *)&pCmap, wColormap(pWin),
|
||||||
|
RT_COLORMAP, serverClient, DixUseAccess);
|
||||||
mask |= CWColormap;
|
mask |= CWColormap;
|
||||||
attributes.colormap = xnestColormap(pCmap);
|
attributes.colormap = xnestColormap(pCmap);
|
||||||
}
|
}
|
||||||
|
@ -338,7 +340,8 @@ xnestChangeWindowAttributes(WindowPtr pWin, unsigned long mask)
|
||||||
if (mask & CWColormap) {
|
if (mask & CWColormap) {
|
||||||
ColormapPtr pCmap;
|
ColormapPtr pCmap;
|
||||||
|
|
||||||
pCmap = (ColormapPtr)LookupIDByType(wColormap(pWin), RT_COLORMAP);
|
dixLookupResourceByType((pointer *)&pCmap, wColormap(pWin), RT_COLORMAP,
|
||||||
|
serverClient, DixUseAccess);
|
||||||
|
|
||||||
attributes.colormap = xnestColormap(pCmap);
|
attributes.colormap = xnestColormap(pCmap);
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,6 @@
|
||||||
<key>LprojRevisionLevel</key>
|
<key>LprojRevisionLevel</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>LprojVersion</key>
|
<key>LprojVersion</key>
|
||||||
<string>73</string>
|
<string>83</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -1,18 +1,17 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.050000190734863">
|
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
|
||||||
<data>
|
<data>
|
||||||
<int key="IBDocument.SystemTarget">1050</int>
|
<int key="IBDocument.SystemTarget">1050</int>
|
||||||
<string key="IBDocument.SystemVersion">10A222</string>
|
<string key="IBDocument.SystemVersion">10A314</string>
|
||||||
<string key="IBDocument.InterfaceBuilderVersion">708</string>
|
<string key="IBDocument.InterfaceBuilderVersion">718</string>
|
||||||
<string key="IBDocument.AppKitVersion">994.5</string>
|
<string key="IBDocument.AppKitVersion">1013</string>
|
||||||
<string key="IBDocument.HIToolboxVersion">404.00</string>
|
<string key="IBDocument.HIToolboxVersion">415.00</string>
|
||||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="NS.object.0">708</string>
|
<string key="NS.object.0">718</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<integer value="348"/>
|
|
||||||
</object>
|
</object>
|
||||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
@ -20,7 +19,7 @@
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSArray" key="dict.sortedKeys">
|
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableArray" key="dict.values">
|
<object class="NSMutableArray" key="dict.values">
|
||||||
|
@ -194,7 +193,7 @@
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMenuItem" id="868031522">
|
<object class="NSMenuItem" id="868031522">
|
||||||
<reference key="NSMenu" ref="524015605"/>
|
<reference key="NSMenu" ref="524015605"/>
|
||||||
<string type="base64-UTF8" key="NSTitle">UHJvZ3JhbW1hJ3M</string>
|
<string key="NSTitle">Programma's</string>
|
||||||
<string key="NSKeyEquiv"/>
|
<string key="NSKeyEquiv"/>
|
||||||
<int key="NSKeyEquivModMask">1048576</int>
|
<int key="NSKeyEquivModMask">1048576</int>
|
||||||
<int key="NSMnemonicLoc">2147483647</int>
|
<int key="NSMnemonicLoc">2147483647</int>
|
||||||
|
@ -202,7 +201,7 @@
|
||||||
<reference key="NSMixedImage" ref="351811234"/>
|
<reference key="NSMixedImage" ref="351811234"/>
|
||||||
<string key="NSAction">submenuAction:</string>
|
<string key="NSAction">submenuAction:</string>
|
||||||
<object class="NSMenu" key="NSSubmenu" id="981161348">
|
<object class="NSMenu" key="NSSubmenu" id="981161348">
|
||||||
<string type="base64-UTF8" key="NSTitle">UHJvZ3JhbW1hJ3M</string>
|
<string key="NSTitle">Programma's</string>
|
||||||
<object class="NSMutableArray" key="NSMenuItems">
|
<object class="NSMutableArray" key="NSMenuItems">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSMenuItem" id="390088328">
|
<object class="NSMenuItem" id="390088328">
|
||||||
|
@ -398,10 +397,10 @@
|
||||||
<object class="NSMutableString" key="NSViewClass">
|
<object class="NSMutableString" key="NSViewClass">
|
||||||
<characters key="NS.bytes">View</characters>
|
<characters key="NS.bytes">View</characters>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSWindowContentMinSize">{320, 240}</string>
|
<string key="NSWindowContentMinSize">{320, 240}</string>
|
||||||
<object class="NSView" key="NSWindowView" id="941366957">
|
<object class="NSView" key="NSWindowView" id="941366957">
|
||||||
<reference key="NSNextResponder"/>
|
<nil key="NSNextResponder"/>
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<object class="NSMutableArray" key="NSSubviews">
|
<object class="NSMutableArray" key="NSSubviews">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
@ -461,9 +460,7 @@
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="391919450">
|
<object class="NSTextFieldCell" key="NSCell" id="391919450">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">QWxzIHUgZGV6ZSBvcHRpZSBpbnNjaGFrZWx0LCBrYW4gaGV0IGdlYnJ1aWsgdmFuIHRvZXRzY29tYmlu
|
<string key="NSContents">Als u deze optie inschakelt, kan het gebruik van toetscombinaties voor menucommado's conflicteren met X11-programma's die de Meta-modifier gebruiken.</string>
|
||||||
YXRpZXMgdm9vciBtZW51Y29tbWFkbydzIGNvbmZsaWN0ZXJlbiBtZXQgWDExLXByb2dyYW1tYSdzIGRp
|
|
||||||
ZSBkZSBNZXRhLW1vZGlmaWVyIGdlYnJ1aWtlbi4</string>
|
|
||||||
<object class="NSFont" key="NSSupport" id="26">
|
<object class="NSFont" key="NSSupport" id="26">
|
||||||
<string key="NSName">LucidaGrande</string>
|
<string key="NSName">LucidaGrande</string>
|
||||||
<double key="NSSize">11</double>
|
<double key="NSSize">11</double>
|
||||||
|
@ -475,9 +472,9 @@ ZSBkZSBNZXRhLW1vZGlmaWVyIGdlYnJ1aWtlbi4</string>
|
||||||
<int key="NSColorSpace">6</int>
|
<int key="NSColorSpace">6</int>
|
||||||
<string key="NSCatalogName">System</string>
|
<string key="NSCatalogName">System</string>
|
||||||
<string key="NSColorName">controlColor</string>
|
<string key="NSColorName">controlColor</string>
|
||||||
<object class="NSColor" key="NSColor" id="891756173">
|
<object class="NSColor" key="NSColor" id="925765112">
|
||||||
<int key="NSColorSpace">3</int>
|
<int key="NSColorSpace">3</int>
|
||||||
<bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
|
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSColor" key="NSTextColor" id="930815747">
|
<object class="NSColor" key="NSTextColor" id="930815747">
|
||||||
|
@ -619,9 +616,7 @@ ZW4uCg</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="624655599">
|
<object class="NSTextFieldCell" key="NSCell" id="624655599">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">Vm9vciBYMTEtZ2VsdWlkc3NpZ25hbGVuIHdvcmR0IGhldCB3YWFyc2NodXdpbmdzc2lnbmFhbCB2YW4g
|
<string key="NSContents">Voor X11-geluidssignalen wordt het waarschuwingssignaal van het systeem gebruikt, zoals ingesteld in het tabblad 'Geluidseffecten' van het systeemvoorkeurenpaneel 'Geluid'.</string>
|
||||||
aGV0IHN5c3RlZW0gZ2VicnVpa3QsIHpvYWxzIGluZ2VzdGVsZCBpbiBoZXQgdGFiYmxhZCAnR2VsdWlk
|
|
||||||
c2VmZmVjdGVuJyB2YW4gaGV0IHN5c3RlZW12b29ya2V1cmVucGFuZWVsICdHZWx1aWQnLg</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
<reference key="NSControlView" ref="1039016593"/>
|
<reference key="NSControlView" ref="1039016593"/>
|
||||||
|
@ -861,9 +856,7 @@ c2VmZmVjdGVuJyB2YW4gaGV0IHN5c3RlZW12b29ya2V1cmVucGFuZWVsICdHZWx1aWQnLg</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="572508492">
|
<object class="NSTextFieldCell" key="NSCell" id="572508492">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">SGllcm1lZSBzY2hha2VsdCB1IGhldCBtZW51b25kZXJkZWVsICJrb3BpZWVyIiBpbiBlbiBtYWFrdCB1
|
<string key="NSContents">Hiermee schakelt u het menuonderdeel "kopieer" in en maakt u synchronisatie mogelijk tussen het klembord van OS X en de CLIPBOARD- en PRIMARY-buffer van X11.</string>
|
||||||
IHN5bmNocm9uaXNhdGllIG1vZ2VsaWprIHR1c3NlbiBoZXQga2xlbWJvcmQgdmFuIE9TIFggZW4gZGUg
|
|
||||||
Q0xJUEJPQVJELSBlbiBQUklNQVJZLWJ1ZmZlciB2YW4gWDExLg</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<reference key="NSControlView" ref="386152084"/>
|
<reference key="NSControlView" ref="386152084"/>
|
||||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||||
|
@ -983,8 +976,7 @@ Q0xJUEJPQVJELSBlbiBQUklNQVJZLWJ1ZmZlciB2YW4gWDExLg</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="994587858">
|
<object class="NSTextFieldCell" key="NSCell" id="994587858">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">VmFud2VnZSBiZXBlcmtpbmdlbiBpbiBoZXQgWDExLXByb3RvY29sIHdlcmt0IGRlemUgb3B0aWUgbW9n
|
<string key="NSContents">Vanwege beperkingen in het X11-protocol werkt deze optie mogelijk niet altijd in alle programma's.</string>
|
||||||
ZWxpamsgbmlldCBhbHRpamQgaW4gYWxsZSBwcm9ncmFtbWEncy4</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<reference key="NSControlView" ref="522511724"/>
|
<reference key="NSControlView" ref="522511724"/>
|
||||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||||
|
@ -1114,7 +1106,7 @@ ZWxpamsgbmlldCBhbHRpamQgaW4gYWxsZSBwcm9ncmFtbWEncy4</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="989804990">
|
<object class="NSTextFieldCell" key="NSCell" id="989804990">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string key="NSContents">Indien ingeschakeld, wordt bij aanmaak van een nieuw X11-venster X11.app op de voorgrond geplaatst (in plaats van Finder.app, Terminal.app, enz.)</string>
|
<string key="NSContents">Indien ingeschakeld, wordt bij aanmaak van een nieuw X11-venster X11.app op de voorgrond geplaatst (in plaats van Finder.app, Terminal.app, enz.).</string>
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<reference key="NSControlView" ref="57161931"/>
|
<reference key="NSControlView" ref="57161931"/>
|
||||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||||
|
@ -1187,10 +1179,7 @@ ZWxpamsgbmlldCBhbHRpamQgaW4gYWxsZSBwcm9ncmFtbWEncy4</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="53243865">
|
<object class="NSTextFieldCell" key="NSCell" id="53243865">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">V2FubmVlciB1IFgxMSBzdGFydCwgd29yZGVuIGVyIFhhdXRob3JpdHktdG9lZ2FuZ3Njb250cm9sZXNs
|
<string key="NSContents">Wanneer u X11 start, worden er Xauthority-toegangscontrolesleutels aangemaakt. Als het IP-adres van het systeem wordt gewijzigd, worden deze toetsen ongeldig waardoor het mogelijk is dat X11-programma's niet kunnen worden gestart.</string>
|
||||||
ZXV0ZWxzIGFhbmdlbWFha3QuIEFscyBoZXQgSVAtYWRyZXMgdmFuIGhldCBzeXN0ZWVtIHdvcmR0IGdl
|
|
||||||
d2lqemlnZCwgd29yZGVuIGRlemUgdG9ldHNlbiBvbmdlbGRpZyB3YWFyZG9vciBoZXQgbW9nZWxpamsg
|
|
||||||
aXMgZGF0IFgxMS1wcm9ncmFtbWEncyBuaWV0IGt1bm5lbiB3b3JkZW4gZ2VzdGFydC4</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
<reference key="NSControlView" ref="168436707"/>
|
<reference key="NSControlView" ref="168436707"/>
|
||||||
|
@ -1207,10 +1196,7 @@ aXMgZGF0IFgxMS1wcm9ncmFtbWEncyBuaWV0IGt1bm5lbiB3b3JkZW4gZ2VzdGFydC4</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="390084685">
|
<object class="NSTextFieldCell" key="NSCell" id="390084685">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">QWxzIHUgZGV6ZSBvcHRpZSBpbnNjaGFrZWx0LCBtb2V0ICdWb2VyIGlkZW50aXRlaXRzY29udHJvbGUg
|
<string key="NSContents">Als u deze optie inschakelt, moet 'Voer identiteitscontrole uit voor verbindingen' ook worden ingeschakeld ter beveiliging van het systeem. Als deze optie is uitgeschakeld, worden verbindingen van externe programma's niet toegestaan.</string>
|
||||||
dWl0IHZvb3IgdmVyYmluZGluZ2VuJyBvb2sgd29yZGVuIGluZ2VzY2hha2VsZCB0ZXIgYmV2ZWlsaWdp
|
|
||||||
bmcgdmFuIGhldCBzeXN0ZWVtLiBBbHMgZGV6ZSBvcHRpZSBpcyB1aXRnZXNjaGFrZWxkLCB3b3JkZW4g
|
|
||||||
dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
<reference key="NSControlView" ref="363817195"/>
|
<reference key="NSControlView" ref="363817195"/>
|
||||||
|
@ -1255,11 +1241,10 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSFrameSize">{564, 308}</string>
|
<string key="NSFrameSize">{564, 308}</string>
|
||||||
<reference key="NSSuperview"/>
|
|
||||||
</object>
|
</object>
|
||||||
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</string>
|
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</string>
|
||||||
<string key="NSMinSize">{320, 262}</string>
|
<string key="NSMinSize">{320, 262}</string>
|
||||||
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSFrameAutosaveName">x11_prefs</string>
|
<string key="NSFrameAutosaveName">x11_prefs</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSWindowTemplate" id="604417141">
|
<object class="NSWindowTemplate" id="604417141">
|
||||||
|
@ -1272,7 +1257,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<object class="NSMutableString" key="NSViewClass">
|
<object class="NSMutableString" key="NSViewClass">
|
||||||
<characters key="NS.bytes">View</characters>
|
<characters key="NS.bytes">View</characters>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSWindowContentMinSize">{320, 240}</string>
|
<string key="NSWindowContentMinSize">{320, 240}</string>
|
||||||
<object class="NSView" key="NSWindowView" id="85544634">
|
<object class="NSView" key="NSWindowView" id="85544634">
|
||||||
<nil key="NSNextResponder"/>
|
<nil key="NSNextResponder"/>
|
||||||
|
@ -1361,8 +1346,8 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<double key="NSMinWidth">62.730998992919922</double>
|
<double key="NSMinWidth">62.730998992919922</double>
|
||||||
<double key="NSMaxWidth">1000</double>
|
<double key="NSMaxWidth">1000</double>
|
||||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||||
<int key="NSCellFlags">75628032</int>
|
<int key="NSCellFlags">75628096</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">2048</int>
|
||||||
<string key="NSContents">Naam</string>
|
<string key="NSContents">Naam</string>
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<object class="NSColor" key="NSBackgroundColor" id="113872566">
|
<object class="NSColor" key="NSBackgroundColor" id="113872566">
|
||||||
|
@ -1399,8 +1384,8 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<double key="NSMinWidth">40</double>
|
<double key="NSMinWidth">40</double>
|
||||||
<double key="NSMaxWidth">1000</double>
|
<double key="NSMaxWidth">1000</double>
|
||||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||||
<int key="NSCellFlags">75628032</int>
|
<int key="NSCellFlags">75628096</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">2048</int>
|
||||||
<string key="NSContents">Commando</string>
|
<string key="NSContents">Commando</string>
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<reference key="NSBackgroundColor" ref="113872566"/>
|
<reference key="NSBackgroundColor" ref="113872566"/>
|
||||||
|
@ -1426,8 +1411,8 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<double key="NSMinWidth">10</double>
|
<double key="NSMinWidth">10</double>
|
||||||
<double key="NSMaxWidth">1000</double>
|
<double key="NSMaxWidth">1000</double>
|
||||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">75628096</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">2048</int>
|
||||||
<string key="NSContents">Toetsen</string>
|
<string key="NSContents">Toetsen</string>
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<object class="NSColor" key="NSBackgroundColor">
|
<object class="NSColor" key="NSBackgroundColor">
|
||||||
|
@ -1454,7 +1439,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<int key="NSColorSpace">6</int>
|
<int key="NSColorSpace">6</int>
|
||||||
<string key="NSCatalogName">System</string>
|
<string key="NSCatalogName">System</string>
|
||||||
<string key="NSColorName">controlBackgroundColor</string>
|
<string key="NSColorName">controlBackgroundColor</string>
|
||||||
<reference key="NSColor" ref="891756173"/>
|
<reference key="NSColor" ref="925765112"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="NSTextColor" ref="930815747"/>
|
<reference key="NSTextColor" ref="930815747"/>
|
||||||
</object>
|
</object>
|
||||||
|
@ -1484,6 +1469,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<int key="NSDraggingSourceMaskForLocal">-1</int>
|
<int key="NSDraggingSourceMaskForLocal">-1</int>
|
||||||
<int key="NSDraggingSourceMaskForNonLocal">0</int>
|
<int key="NSDraggingSourceMaskForNonLocal">0</int>
|
||||||
<bool key="NSAllowsTypeSelect">YES</bool>
|
<bool key="NSAllowsTypeSelect">YES</bool>
|
||||||
|
<int key="NSTableViewDraggingDestinationStyle">0</int>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSFrame">{{1, 17}, {301, 198}}</string>
|
<string key="NSFrame">{{1, 17}, {301, 198}}</string>
|
||||||
|
@ -1567,7 +1553,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</string>
|
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</string>
|
||||||
<string key="NSMinSize">{320, 262}</string>
|
<string key="NSMinSize">{320, 262}</string>
|
||||||
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSFrameAutosaveName">x11_apps</string>
|
<string key="NSFrameAutosaveName">x11_apps</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMenu" id="294137138">
|
<object class="NSMenu" id="294137138">
|
||||||
|
@ -1587,7 +1573,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMenuItem" id="511651072">
|
<object class="NSMenuItem" id="511651072">
|
||||||
<reference key="NSMenu" ref="294137138"/>
|
<reference key="NSMenu" ref="294137138"/>
|
||||||
<string type="base64-UTF8" key="NSTitle">UHJvZ3JhbW1hJ3M</string>
|
<string key="NSTitle">Programma's</string>
|
||||||
<string key="NSKeyEquiv"/>
|
<string key="NSKeyEquiv"/>
|
||||||
<int key="NSKeyEquivModMask">1048576</int>
|
<int key="NSKeyEquivModMask">1048576</int>
|
||||||
<int key="NSMnemonicLoc">2147483647</int>
|
<int key="NSMnemonicLoc">2147483647</int>
|
||||||
|
@ -1595,7 +1581,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<reference key="NSMixedImage" ref="351811234"/>
|
<reference key="NSMixedImage" ref="351811234"/>
|
||||||
<string key="NSAction">submenuAction:</string>
|
<string key="NSAction">submenuAction:</string>
|
||||||
<object class="NSMenu" key="NSSubmenu" id="48278059">
|
<object class="NSMenu" key="NSSubmenu" id="48278059">
|
||||||
<string type="base64-UTF8" key="NSTitle">UHJvZ3JhbW1hJ3M</string>
|
<string key="NSTitle">Programma's</string>
|
||||||
<object class="NSMutableArray" key="NSMenuItems">
|
<object class="NSMutableArray" key="NSMenuItems">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSMenuItem" id="563798000">
|
<object class="NSMenuItem" id="563798000">
|
||||||
|
@ -1611,7 +1597,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMenuItem" id="1032342329">
|
<object class="NSMenuItem" id="1032342329">
|
||||||
<reference key="NSMenu" ref="48278059"/>
|
<reference key="NSMenu" ref="48278059"/>
|
||||||
<string type="base64-UTF8" key="NSTitle">UGFzIGFhbuKApg</string>
|
<string key="NSTitle">Pas aan…</string>
|
||||||
<string key="NSKeyEquiv"/>
|
<string key="NSKeyEquiv"/>
|
||||||
<int key="NSKeyEquivModMask">1048576</int>
|
<int key="NSKeyEquivModMask">1048576</int>
|
||||||
<int key="NSMnemonicLoc">2147483647</int>
|
<int key="NSMnemonicLoc">2147483647</int>
|
||||||
|
@ -2186,28 +2172,26 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">0</int>
|
<int key="objectID">0</int>
|
||||||
<object class="NSArray" key="object" id="330408435">
|
<reference key="object" ref="0"/>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
|
||||||
</object>
|
|
||||||
<reference key="children" ref="904585544"/>
|
<reference key="children" ref="904585544"/>
|
||||||
<nil key="parent"/>
|
<nil key="parent"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">-2</int>
|
<int key="objectID">-2</int>
|
||||||
<reference key="object" ref="815810918"/>
|
<reference key="object" ref="815810918"/>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
|
<string key="objectName">File's Owner</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">-1</int>
|
<int key="objectID">-1</int>
|
||||||
<reference key="object" ref="941939442"/>
|
<reference key="object" ref="941939442"/>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">First Responder</string>
|
<string key="objectName">First Responder</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">-3</int>
|
<int key="objectID">-3</int>
|
||||||
<reference key="object" ref="951368722"/>
|
<reference key="object" ref="951368722"/>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">Application</string>
|
<string key="objectName">Application</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -2221,7 +2205,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<reference ref="868031522"/>
|
<reference ref="868031522"/>
|
||||||
<reference ref="551174276"/>
|
<reference ref="551174276"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">MainMenu</string>
|
<string key="objectName">MainMenu</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -2466,7 +2450,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">196</int>
|
<int key="objectID">196</int>
|
||||||
<reference key="object" ref="485884620"/>
|
<reference key="object" ref="485884620"/>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">X11Controller</string>
|
<string key="objectName">X11Controller</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -2476,7 +2460,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<reference ref="941366957"/>
|
<reference ref="941366957"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">PrefsPanel</string>
|
<string key="objectName">PrefsPanel</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -2740,7 +2724,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<reference ref="85544634"/>
|
<reference ref="85544634"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">EditPrograms</string>
|
<string key="objectName">EditPrograms</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -2763,7 +2747,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<reference ref="318286212"/>
|
<reference ref="318286212"/>
|
||||||
<reference ref="511651072"/>
|
<reference ref="511651072"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">DockMenu</string>
|
<string key="objectName">DockMenu</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -3317,6 +3301,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSArray" key="dict.sortedKeys">
|
<object class="NSArray" key="dict.sortedKeys">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<string>-3.IBPluginDependency</string>
|
||||||
<string>-3.ImportedFromIB2</string>
|
<string>-3.ImportedFromIB2</string>
|
||||||
<string>100292.IBPluginDependency</string>
|
<string>100292.IBPluginDependency</string>
|
||||||
<string>100293.IBPluginDependency</string>
|
<string>100293.IBPluginDependency</string>
|
||||||
|
@ -3606,6 +3591,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableArray" key="dict.values">
|
<object class="NSMutableArray" key="dict.values">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
@ -3673,9 +3659,9 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{271, 666}, {301, 153}}</string>
|
<string>{{271, 666}, {301, 153}}</string>
|
||||||
<string>{{437, 672}, {564, 308}}</string>
|
<string>{{325, 672}, {564, 308}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>{{437, 672}, {564, 308}}</string>
|
<string>{{325, 672}, {564, 308}}</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{184, 290}, {481, 345}}</string>
|
<string>{{184, 290}, {481, 345}}</string>
|
||||||
<integer value="0"/>
|
<integer value="0"/>
|
||||||
|
@ -3896,9 +3882,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSArray" key="dict.sortedKeys">
|
<reference key="dict.sortedKeys" ref="0"/>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
|
||||||
</object>
|
|
||||||
<object class="NSMutableArray" key="dict.values">
|
<object class="NSMutableArray" key="dict.values">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
</object>
|
</object>
|
||||||
|
@ -3906,9 +3890,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
<nil key="activeLocalization"/>
|
<nil key="activeLocalization"/>
|
||||||
<object class="NSMutableDictionary" key="localizations">
|
<object class="NSMutableDictionary" key="localizations">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSArray" key="dict.sortedKeys">
|
<reference key="dict.sortedKeys" ref="0"/>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
|
||||||
</object>
|
|
||||||
<object class="NSMutableArray" key="dict.values">
|
<object class="NSMutableArray" key="dict.values">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
</object>
|
</object>
|
||||||
|
@ -3946,6 +3928,15 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<int key="IBDocument.localizationMode">0</int>
|
<int key="IBDocument.localizationMode">0</int>
|
||||||
|
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
|
||||||
|
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
|
||||||
|
<integer value="1050" key="NS.object.0"/>
|
||||||
|
</object>
|
||||||
|
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||||
|
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
|
||||||
|
<integer value="3000" key="NS.object.0"/>
|
||||||
|
</object>
|
||||||
|
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||||
<string key="IBDocument.LastKnownRelativeProjectPath">../X11.xcodeproj</string>
|
<string key="IBDocument.LastKnownRelativeProjectPath">../X11.xcodeproj</string>
|
||||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||||
</data>
|
</data>
|
||||||
|
|
Binary file not shown.
|
@ -9,6 +9,6 @@
|
||||||
<key>LprojRevisionLevel</key>
|
<key>LprojRevisionLevel</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>LprojVersion</key>
|
<key>LprojVersion</key>
|
||||||
<string>73</string>
|
<string>83</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -9,6 +9,6 @@
|
||||||
<key>LprojRevisionLevel</key>
|
<key>LprojRevisionLevel</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>LprojVersion</key>
|
<key>LprojVersion</key>
|
||||||
<string>73</string>
|
<string>83</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03">
|
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.05">
|
||||||
<data>
|
<data>
|
||||||
<int key="IBDocument.SystemTarget">1050</int>
|
<int key="IBDocument.SystemTarget">1050</int>
|
||||||
<string key="IBDocument.SystemVersion">9C31</string>
|
<string key="IBDocument.SystemVersion">10A222</string>
|
||||||
<string key="IBDocument.InterfaceBuilderVersion">677</string>
|
<string key="IBDocument.InterfaceBuilderVersion">708</string>
|
||||||
<string key="IBDocument.AppKitVersion">949.26</string>
|
<string key="IBDocument.AppKitVersion">994.5</string>
|
||||||
<string key="IBDocument.HIToolboxVersion">352.00</string>
|
<string key="IBDocument.HIToolboxVersion">404.00</string>
|
||||||
|
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||||
|
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<string key="NS.object.0">708</string>
|
||||||
|
</object>
|
||||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
</object>
|
</object>
|
||||||
|
@ -393,7 +397,7 @@
|
||||||
<object class="NSMutableString" key="NSViewClass">
|
<object class="NSMutableString" key="NSViewClass">
|
||||||
<characters key="NS.bytes">View</characters>
|
<characters key="NS.bytes">View</characters>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSWindowContentMinSize">{320, 240}</string>
|
<string key="NSWindowContentMinSize">{320, 240}</string>
|
||||||
<object class="NSView" key="NSWindowView" id="941366957">
|
<object class="NSView" key="NSWindowView" id="941366957">
|
||||||
<nil key="NSNextResponder"/>
|
<nil key="NSNextResponder"/>
|
||||||
|
@ -428,7 +432,7 @@
|
||||||
<string key="NSContents">Drei Maustasten nachbilden</string>
|
<string key="NSContents">Drei Maustasten nachbilden</string>
|
||||||
<object class="NSFont" key="NSSupport" id="463863101">
|
<object class="NSFont" key="NSSupport" id="463863101">
|
||||||
<string key="NSName">LucidaGrande</string>
|
<string key="NSName">LucidaGrande</string>
|
||||||
<double key="NSSize">1.300000e+01</double>
|
<double key="NSSize">13</double>
|
||||||
<int key="NSfFlags">1044</int>
|
<int key="NSfFlags">1044</int>
|
||||||
</object>
|
</object>
|
||||||
<reference key="NSControlView" ref="119157981"/>
|
<reference key="NSControlView" ref="119157981"/>
|
||||||
|
@ -461,7 +465,7 @@ bsO8bGVpc3RlIGRpZSBYMTEtUHJvZ3JhbW1lIHN0w7ZyZW4sIGRpZSBNZXRhLVNvbmRlcnRhc3RlbiB2
|
||||||
ZXJ3ZW5kZW4uA</string>
|
ZXJ3ZW5kZW4uA</string>
|
||||||
<object class="NSFont" key="NSSupport" id="26">
|
<object class="NSFont" key="NSSupport" id="26">
|
||||||
<string key="NSName">LucidaGrande</string>
|
<string key="NSName">LucidaGrande</string>
|
||||||
<double key="NSSize">1.100000e+01</double>
|
<double key="NSSize">11</double>
|
||||||
<int key="NSfFlags">3100</int>
|
<int key="NSfFlags">3100</int>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
|
@ -470,9 +474,9 @@ ZXJ3ZW5kZW4uA</string>
|
||||||
<int key="NSColorSpace">6</int>
|
<int key="NSColorSpace">6</int>
|
||||||
<string key="NSCatalogName">System</string>
|
<string key="NSCatalogName">System</string>
|
||||||
<string key="NSColorName">controlColor</string>
|
<string key="NSColorName">controlColor</string>
|
||||||
<object class="NSColor" key="NSColor" id="764920908">
|
<object class="NSColor" key="NSColor" id="705970636">
|
||||||
<int key="NSColorSpace">3</int>
|
<int key="NSColorSpace">3</int>
|
||||||
<bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
|
<bytes key="NSWhite">MC42NjY2NjY2NwA</bytes>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSColor" key="NSTextColor" id="930815747">
|
<object class="NSColor" key="NSTextColor" id="930815747">
|
||||||
|
@ -639,7 +643,7 @@ LCB3aWUgaW4gZGVyIFN5c3RlbWVpbnN0ZWxsdW5nIOKAnlRvbmVmZmVrdGXigJwgZmVzdGdlbGVndC4<
|
||||||
<int key="NSButtonFlags2">1</int>
|
<int key="NSButtonFlags2">1</int>
|
||||||
<object class="NSFont" key="NSAlternateImage">
|
<object class="NSFont" key="NSAlternateImage">
|
||||||
<string key="NSName">LucidaGrande</string>
|
<string key="NSName">LucidaGrande</string>
|
||||||
<double key="NSSize">1.300000e+01</double>
|
<double key="NSSize">13</double>
|
||||||
<int key="NSfFlags">16</int>
|
<int key="NSfFlags">16</int>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSAlternateContents"/>
|
<string key="NSAlternateContents"/>
|
||||||
|
@ -706,6 +710,7 @@ LCB3aWUgaW4gZGVyIFN5c3RlbWVpbnN0ZWxsdW5nIOKAnlRvbmVmZmVrdGXigJwgZmVzdGdlbGVndC4<
|
||||||
<reference key="NSTarget" ref="633115429"/>
|
<reference key="NSTarget" ref="633115429"/>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
<reference key="NSMenuFont" ref="463863101"/>
|
||||||
</object>
|
</object>
|
||||||
<int key="NSPreferredEdge">3</int>
|
<int key="NSPreferredEdge">3</int>
|
||||||
<bool key="NSUsesItemFromMenu">YES</bool>
|
<bool key="NSUsesItemFromMenu">YES</bool>
|
||||||
|
@ -1262,7 +1267,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
|
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
|
||||||
<string key="NSMinSize">{320, 262}</string>
|
<string key="NSMinSize">{320, 262}</string>
|
||||||
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSFrameAutosaveName">x11_prefs</string>
|
<string key="NSFrameAutosaveName">x11_prefs</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSWindowTemplate" id="604417141">
|
<object class="NSWindowTemplate" id="604417141">
|
||||||
|
@ -1275,7 +1280,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<object class="NSMutableString" key="NSViewClass">
|
<object class="NSMutableString" key="NSViewClass">
|
||||||
<characters key="NS.bytes">View</characters>
|
<characters key="NS.bytes">View</characters>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSWindowContentMinSize">{320, 240}</string>
|
<string key="NSWindowContentMinSize">{320, 240}</string>
|
||||||
<object class="NSView" key="NSWindowView" id="85544634">
|
<object class="NSView" key="NSWindowView" id="85544634">
|
||||||
<nil key="NSNextResponder"/>
|
<nil key="NSNextResponder"/>
|
||||||
|
@ -1360,9 +1365,9 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<object class="NSMutableArray" key="NSTableColumns">
|
<object class="NSMutableArray" key="NSTableColumns">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSTableColumn" id="938444323">
|
<object class="NSTableColumn" id="938444323">
|
||||||
<double key="NSWidth">1.227310e+02</double>
|
<double key="NSWidth">122.73099999999999</double>
|
||||||
<double key="NSMinWidth">6.273100e+01</double>
|
<double key="NSMinWidth">62.731000000000002</double>
|
||||||
<double key="NSMaxWidth">1.000000e+03</double>
|
<double key="NSMaxWidth">1000</double>
|
||||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||||
<int key="NSCellFlags">75628032</int>
|
<int key="NSCellFlags">75628032</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
|
@ -1398,9 +1403,9 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<reference key="NSTableView" ref="905092943"/>
|
<reference key="NSTableView" ref="905092943"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSTableColumn" id="84282687">
|
<object class="NSTableColumn" id="84282687">
|
||||||
<double key="NSWidth">1.000000e+02</double>
|
<double key="NSWidth">100</double>
|
||||||
<double key="NSMinWidth">4.000000e+01</double>
|
<double key="NSMinWidth">40</double>
|
||||||
<double key="NSMaxWidth">1.000000e+03</double>
|
<double key="NSMaxWidth">1000</double>
|
||||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||||
<int key="NSCellFlags">75628032</int>
|
<int key="NSCellFlags">75628032</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
|
@ -1425,9 +1430,9 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<reference key="NSTableView" ref="905092943"/>
|
<reference key="NSTableView" ref="905092943"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSTableColumn" id="242608782">
|
<object class="NSTableColumn" id="242608782">
|
||||||
<double key="NSWidth">6.900000e+01</double>
|
<double key="NSWidth">69</double>
|
||||||
<double key="NSMinWidth">1.000000e+01</double>
|
<double key="NSMinWidth">10</double>
|
||||||
<double key="NSMaxWidth">1.000000e+03</double>
|
<double key="NSMaxWidth">1000</double>
|
||||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
|
@ -1447,7 +1452,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<string key="NSContents">Textzelle</string>
|
<string key="NSContents">Textzelle</string>
|
||||||
<object class="NSFont" key="NSSupport">
|
<object class="NSFont" key="NSSupport">
|
||||||
<string key="NSName">LucidaGrande</string>
|
<string key="NSName">LucidaGrande</string>
|
||||||
<double key="NSSize">1.200000e+01</double>
|
<double key="NSSize">12</double>
|
||||||
<int key="NSfFlags">16</int>
|
<int key="NSfFlags">16</int>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
|
@ -1457,7 +1462,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<int key="NSColorSpace">6</int>
|
<int key="NSColorSpace">6</int>
|
||||||
<string key="NSCatalogName">System</string>
|
<string key="NSCatalogName">System</string>
|
||||||
<string key="NSColorName">controlBackgroundColor</string>
|
<string key="NSColorName">controlBackgroundColor</string>
|
||||||
<reference key="NSColor" ref="764920908"/>
|
<reference key="NSColor" ref="705970636"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="NSTextColor" ref="930815747"/>
|
<reference key="NSTextColor" ref="930815747"/>
|
||||||
</object>
|
</object>
|
||||||
|
@ -1467,8 +1472,8 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<reference key="NSTableView" ref="905092943"/>
|
<reference key="NSTableView" ref="905092943"/>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<double key="NSIntercellSpacingWidth">3.000000e+00</double>
|
<double key="NSIntercellSpacingWidth">3</double>
|
||||||
<double key="NSIntercellSpacingHeight">2.000000e+00</double>
|
<double key="NSIntercellSpacingHeight">2</double>
|
||||||
<reference key="NSBackgroundColor" ref="822946413"/>
|
<reference key="NSBackgroundColor" ref="822946413"/>
|
||||||
<object class="NSColor" key="NSGridColor">
|
<object class="NSColor" key="NSGridColor">
|
||||||
<int key="NSColorSpace">6</int>
|
<int key="NSColorSpace">6</int>
|
||||||
|
@ -1479,8 +1484,10 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<bytes key="NSWhite">MC41AA</bytes>
|
<bytes key="NSWhite">MC41AA</bytes>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<double key="NSRowHeight">1.700000e+01</double>
|
<double key="NSRowHeight">17</double>
|
||||||
<int key="NSTvFlags">1379958784</int>
|
<int key="NSTvFlags">1379958784</int>
|
||||||
|
<reference key="NSDelegate"/>
|
||||||
|
<reference key="NSDataSource"/>
|
||||||
<int key="NSColumnAutoresizingStyle">1</int>
|
<int key="NSColumnAutoresizingStyle">1</int>
|
||||||
<int key="NSDraggingSourceMaskForLocal">-1</int>
|
<int key="NSDraggingSourceMaskForLocal">-1</int>
|
||||||
<int key="NSDraggingSourceMaskForNonLocal">0</int>
|
<int key="NSDraggingSourceMaskForNonLocal">0</int>
|
||||||
|
@ -1501,7 +1508,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<reference key="NSSuperview" ref="1063387772"/>
|
<reference key="NSSuperview" ref="1063387772"/>
|
||||||
<reference key="NSTarget" ref="1063387772"/>
|
<reference key="NSTarget" ref="1063387772"/>
|
||||||
<string key="NSAction">_doScroller:</string>
|
<string key="NSAction">_doScroller:</string>
|
||||||
<double key="NSPercent">9.949238e-01</double>
|
<double key="NSPercent">0.99492380000000002</double>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSScroller" id="17278747">
|
<object class="NSScroller" id="17278747">
|
||||||
<reference key="NSNextResponder" ref="1063387772"/>
|
<reference key="NSNextResponder" ref="1063387772"/>
|
||||||
|
@ -1511,7 +1518,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<int key="NSsFlags">1</int>
|
<int key="NSsFlags">1</int>
|
||||||
<reference key="NSTarget" ref="1063387772"/>
|
<reference key="NSTarget" ref="1063387772"/>
|
||||||
<string key="NSAction">_doScroller:</string>
|
<string key="NSAction">_doScroller:</string>
|
||||||
<double key="NSPercent">6.885246e-01</double>
|
<double key="NSPercent">0.68852460000000004</double>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSClipView" id="672307654">
|
<object class="NSClipView" id="672307654">
|
||||||
<reference key="NSNextResponder" ref="1063387772"/>
|
<reference key="NSNextResponder" ref="1063387772"/>
|
||||||
|
@ -1568,7 +1575,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
|
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
|
||||||
<string key="NSMinSize">{320, 262}</string>
|
<string key="NSMinSize">{320, 262}</string>
|
||||||
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSFrameAutosaveName">x11_apps</string>
|
<string key="NSFrameAutosaveName">x11_apps</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMenu" id="294137138">
|
<object class="NSMenu" id="294137138">
|
||||||
|
@ -3316,11 +3323,8 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
<object class="NSArray" key="dict.sortedKeys">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<string>-1.IBPluginDependency</string>
|
|
||||||
<string>-2.IBPluginDependency</string>
|
|
||||||
<string>-3.IBPluginDependency</string>
|
|
||||||
<string>-3.ImportedFromIB2</string>
|
<string>-3.ImportedFromIB2</string>
|
||||||
<string>100292.IBPluginDependency</string>
|
<string>100292.IBPluginDependency</string>
|
||||||
<string>100293.IBPluginDependency</string>
|
<string>100293.IBPluginDependency</string>
|
||||||
|
@ -3375,7 +3379,6 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<string>169.editorWindowContentRectSynchronizationRect</string>
|
<string>169.editorWindowContentRectSynchronizationRect</string>
|
||||||
<string>19.IBPluginDependency</string>
|
<string>19.IBPluginDependency</string>
|
||||||
<string>19.ImportedFromIB2</string>
|
<string>19.ImportedFromIB2</string>
|
||||||
<string>196.IBPluginDependency</string>
|
|
||||||
<string>196.ImportedFromIB2</string>
|
<string>196.ImportedFromIB2</string>
|
||||||
<string>200295.IBPluginDependency</string>
|
<string>200295.IBPluginDependency</string>
|
||||||
<string>200295.IBShouldRemoveOnLegacySave</string>
|
<string>200295.IBShouldRemoveOnLegacySave</string>
|
||||||
|
@ -3390,6 +3393,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<string>24.ImportedFromIB2</string>
|
<string>24.ImportedFromIB2</string>
|
||||||
<string>24.editorWindowContentRectSynchronizationRect</string>
|
<string>24.editorWindowContentRectSynchronizationRect</string>
|
||||||
<string>244.IBEditorWindowLastContentRect</string>
|
<string>244.IBEditorWindowLastContentRect</string>
|
||||||
|
<string>244.IBPluginDependency</string>
|
||||||
<string>244.IBViewEditorWindowController.showingLayoutRectangles</string>
|
<string>244.IBViewEditorWindowController.showingLayoutRectangles</string>
|
||||||
<string>244.IBWindowTemplateEditedContentRect</string>
|
<string>244.IBWindowTemplateEditedContentRect</string>
|
||||||
<string>244.ImportedFromIB2</string>
|
<string>244.ImportedFromIB2</string>
|
||||||
|
@ -3409,6 +3413,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<string>272.IBPluginDependency</string>
|
<string>272.IBPluginDependency</string>
|
||||||
<string>272.ImportedFromIB2</string>
|
<string>272.ImportedFromIB2</string>
|
||||||
<string>285.IBEditorWindowLastContentRect</string>
|
<string>285.IBEditorWindowLastContentRect</string>
|
||||||
|
<string>285.IBPluginDependency</string>
|
||||||
<string>285.IBViewEditorWindowController.showingBoundsRectangles</string>
|
<string>285.IBViewEditorWindowController.showingBoundsRectangles</string>
|
||||||
<string>285.IBViewEditorWindowController.showingLayoutRectangles</string>
|
<string>285.IBViewEditorWindowController.showingLayoutRectangles</string>
|
||||||
<string>285.IBWindowTemplateEditedContentRect</string>
|
<string>285.IBWindowTemplateEditedContentRect</string>
|
||||||
|
@ -3608,14 +3613,11 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableArray" key="dict.values">
|
<object class="NSMutableArray" key="dict.values">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1" id="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
|
||||||
<reference ref="9"/>
|
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
@ -3636,265 +3638,266 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{168, 821}, {113, 23}}</string>
|
<string>{{168, 821}, {113, 23}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{202, 626}, {154, 153}}</string>
|
<string>{{202, 626}, {154, 153}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
|
||||||
<reference ref="9"/>
|
|
||||||
<string>{{349, 858}, {315, 153}}</string>
|
<string>{{349, 858}, {315, 153}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{271, 666}, {301, 153}}</string>
|
<string>{{271, 666}, {301, 153}}</string>
|
||||||
<string>{{325, 198}, {613, 302}}</string>
|
<string>{{325, 198}, {613, 302}}</string>
|
||||||
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<boolean value="NO"/>
|
<boolean value="NO"/>
|
||||||
<string>{{325, 198}, {613, 302}}</string>
|
<string>{{325, 198}, {613, 302}}</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{184, 290}, {481, 345}}</string>
|
<string>{{184, 290}, {481, 345}}</string>
|
||||||
<integer value="0" id="8"/>
|
<integer value="0"/>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{3.40282e+38, 3.40282e+38}</string>
|
<string>{3.40282e+38, 3.40282e+38}</string>
|
||||||
<string>{320, 240}</string>
|
<string>{320, 240}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{58, 803}, {155, 33}}</string>
|
<string>{{58, 803}, {155, 33}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{100, 746}, {155, 33}}</string>
|
<string>{{100, 746}, {155, 33}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{68, 585}, {512, 271}}</string>
|
<string>{{68, 585}, {512, 271}}</string>
|
||||||
<reference ref="9"/>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
|
<integer value="1"/>
|
||||||
<string>{{68, 585}, {512, 271}}</string>
|
<string>{{68, 585}, {512, 271}}</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{433, 406}, {486, 327}}</string>
|
<string>{{433, 406}, {486, 327}}</string>
|
||||||
<reference ref="8"/>
|
<integer value="0"/>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{3.40282e+38, 3.40282e+38}</string>
|
<string>{3.40282e+38, 3.40282e+38}</string>
|
||||||
<string>{320, 240}</string>
|
<string>{320, 240}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{145, 836}, {375, 20}}</string>
|
<string>{{145, 836}, {375, 20}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{67, 819}, {336, 20}}</string>
|
<string>{{67, 819}, {336, 20}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{20, 641}, {218, 203}}</string>
|
<string>{{20, 641}, {218, 203}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>{{79, 616}, {218, 203}}</string>
|
<string>{{79, 616}, {218, 203}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<reference ref="9"/>
|
<integer value="1"/>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||||
|
|
Binary file not shown.
|
@ -9,6 +9,6 @@
|
||||||
<key>LprojRevisionLevel</key>
|
<key>LprojRevisionLevel</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>LprojVersion</key>
|
<key>LprojVersion</key>
|
||||||
<string>73</string>
|
<string>83</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -9,6 +9,6 @@
|
||||||
<key>LprojRevisionLevel</key>
|
<key>LprojRevisionLevel</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>LprojVersion</key>
|
<key>LprojVersion</key>
|
||||||
<string>76</string>
|
<string>83</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -9,6 +9,6 @@
|
||||||
<key>LprojRevisionLevel</key>
|
<key>LprojRevisionLevel</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>LprojVersion</key>
|
<key>LprojVersion</key>
|
||||||
<string>73</string>
|
<string>83</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.050000190734863">
|
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
|
||||||
<data>
|
<data>
|
||||||
<int key="IBDocument.SystemTarget">1050</int>
|
<int key="IBDocument.SystemTarget">1050</int>
|
||||||
<string key="IBDocument.SystemVersion">10A222</string>
|
<string key="IBDocument.SystemVersion">10A314</string>
|
||||||
<string key="IBDocument.InterfaceBuilderVersion">708</string>
|
<string key="IBDocument.InterfaceBuilderVersion">718</string>
|
||||||
<string key="IBDocument.AppKitVersion">994.5</string>
|
<string key="IBDocument.AppKitVersion">1013</string>
|
||||||
<string key="IBDocument.HIToolboxVersion">404.00</string>
|
<string key="IBDocument.HIToolboxVersion">415.00</string>
|
||||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string key="NS.object.0">708</string>
|
<string key="NS.object.0">718</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSArray" key="dict.sortedKeys">
|
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableArray" key="dict.values">
|
<object class="NSMutableArray" key="dict.values">
|
||||||
|
@ -229,7 +229,7 @@
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMenuItem" id="200491363">
|
<object class="NSMenuItem" id="200491363">
|
||||||
<reference key="NSMenu" ref="524015605"/>
|
<reference key="NSMenu" ref="524015605"/>
|
||||||
<string type="base64-UTF8" key="NSTitle">RWRpY2nDs24</string>
|
<string key="NSTitle">Edición</string>
|
||||||
<string key="NSKeyEquiv"/>
|
<string key="NSKeyEquiv"/>
|
||||||
<int key="NSKeyEquivModMask">1048576</int>
|
<int key="NSKeyEquivModMask">1048576</int>
|
||||||
<int key="NSMnemonicLoc">2147483647</int>
|
<int key="NSMnemonicLoc">2147483647</int>
|
||||||
|
@ -237,7 +237,7 @@
|
||||||
<reference key="NSMixedImage" ref="351811234"/>
|
<reference key="NSMixedImage" ref="351811234"/>
|
||||||
<string key="NSAction">submenuAction:</string>
|
<string key="NSAction">submenuAction:</string>
|
||||||
<object class="NSMenu" key="NSSubmenu" id="526778998">
|
<object class="NSMenu" key="NSSubmenu" id="526778998">
|
||||||
<string type="base64-UTF8" key="NSTitle">RWRpY2nDs24</string>
|
<string key="NSTitle">Edición</string>
|
||||||
<object class="NSMutableArray" key="NSMenuItems">
|
<object class="NSMutableArray" key="NSMenuItems">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSMenuItem" id="185296989">
|
<object class="NSMenuItem" id="185296989">
|
||||||
|
@ -314,7 +314,7 @@
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMenuItem" id="369641893">
|
<object class="NSMenuItem" id="369641893">
|
||||||
<reference key="NSMenu" ref="96874957"/>
|
<reference key="NSMenu" ref="96874957"/>
|
||||||
<string type="base64-UTF8" key="NSTitle">UmVjb3JyZXIgdmVudGFuYXMgYWwgcmV2w6lzA</string>
|
<string key="NSTitle">Recorrer ventanas al revés</string>
|
||||||
<string key="NSKeyEquiv">~</string>
|
<string key="NSKeyEquiv">~</string>
|
||||||
<int key="NSKeyEquivModMask">1179914</int>
|
<int key="NSKeyEquivModMask">1179914</int>
|
||||||
<int key="NSMnemonicLoc">2147483647</int>
|
<int key="NSMnemonicLoc">2147483647</int>
|
||||||
|
@ -397,10 +397,10 @@
|
||||||
<object class="NSMutableString" key="NSViewClass">
|
<object class="NSMutableString" key="NSViewClass">
|
||||||
<characters key="NS.bytes">View</characters>
|
<characters key="NS.bytes">View</characters>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSWindowContentMinSize">{320, 240}</string>
|
<string key="NSWindowContentMinSize">{320, 240}</string>
|
||||||
<object class="NSView" key="NSWindowView" id="941366957">
|
<object class="NSView" key="NSWindowView" id="941366957">
|
||||||
<nil key="NSNextResponder"/>
|
<reference key="NSNextResponder"/>
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<object class="NSMutableArray" key="NSSubviews">
|
<object class="NSMutableArray" key="NSSubviews">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
@ -409,6 +409,7 @@
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrame">{{13, 10}, {593, 292}}</string>
|
<string key="NSFrame">{{13, 10}, {593, 292}}</string>
|
||||||
<reference key="NSSuperview" ref="941366957"/>
|
<reference key="NSSuperview" ref="941366957"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<object class="NSMutableArray" key="NSTabViewItems">
|
<object class="NSMutableArray" key="NSTabViewItems">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSTabViewItem" id="287591690">
|
<object class="NSTabViewItem" id="287591690">
|
||||||
|
@ -425,11 +426,12 @@
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrame">{{18, 210}, {402, 18}}</string>
|
<string key="NSFrame">{{18, 210}, {402, 18}}</string>
|
||||||
<reference key="NSSuperview" ref="596750588"/>
|
<reference key="NSSuperview" ref="596750588"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="990762273">
|
<object class="NSButtonCell" key="NSCell" id="990762273">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
<string type="base64-UTF8" key="NSContents">U2ltdWxhciByYXTDs24gZGUgdHJlcyBib3RvbmVzA</string>
|
<string key="NSContents">Simular ratón de tres botones</string>
|
||||||
<object class="NSFont" key="NSSupport" id="463863101">
|
<object class="NSFont" key="NSSupport" id="463863101">
|
||||||
<string key="NSName">LucidaGrande</string>
|
<string key="NSName">LucidaGrande</string>
|
||||||
<double key="NSSize">13</double>
|
<double key="NSSize">13</double>
|
||||||
|
@ -456,13 +458,12 @@
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrame">{{36, 40}, {501, 42}}</string>
|
<string key="NSFrame">{{36, 40}, {501, 42}}</string>
|
||||||
<reference key="NSSuperview" ref="596750588"/>
|
<reference key="NSSuperview" ref="596750588"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="391919450">
|
<object class="NSTextFieldCell" key="NSCell" id="391919450">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">Q3VhbmRvIGVzdGEgb3BjacOzbiBlc3TDoSBhY3RpdmFkYSwgcHVlZGUgcXVlIGxvcyBlcXVpdmFsZW50
|
<string key="NSContents">Cuando esta opción está activada, puede que los equivalentes de teclado de la barra de menús interfieran con las aplicaciones X11 que usen el modificador Meta.</string>
|
||||||
ZXMgZGUgdGVjbGFkbyBkZSBsYSBiYXJyYSBkZSBtZW7DunMgaW50ZXJmaWVyYW4gY29uIGxhcyBhcGxp
|
|
||||||
Y2FjaW9uZXMgWDExIHF1ZSB1c2VuIGVsIG1vZGlmaWNhZG9yIE1ldGEuA</string>
|
|
||||||
<object class="NSFont" key="NSSupport" id="26">
|
<object class="NSFont" key="NSSupport" id="26">
|
||||||
<string key="NSName">LucidaGrande</string>
|
<string key="NSName">LucidaGrande</string>
|
||||||
<double key="NSSize">11</double>
|
<double key="NSSize">11</double>
|
||||||
|
@ -474,16 +475,16 @@ Y2FjaW9uZXMgWDExIHF1ZSB1c2VuIGVsIG1vZGlmaWNhZG9yIE1ldGEuA</string>
|
||||||
<int key="NSColorSpace">6</int>
|
<int key="NSColorSpace">6</int>
|
||||||
<string key="NSCatalogName">System</string>
|
<string key="NSCatalogName">System</string>
|
||||||
<string key="NSColorName">controlColor</string>
|
<string key="NSColorName">controlColor</string>
|
||||||
<object class="NSColor" key="NSColor" id="92723341">
|
<object class="NSColor" key="NSColor" id="193651701">
|
||||||
<int key="NSColorSpace">3</int>
|
<int key="NSColorSpace">3</int>
|
||||||
<bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
|
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSColor" key="NSTextColor" id="930815747">
|
<object class="NSColor" key="NSTextColor" id="930815747">
|
||||||
<int key="NSColorSpace">6</int>
|
<int key="NSColorSpace">6</int>
|
||||||
<string key="NSCatalogName">System</string>
|
<string key="NSCatalogName">System</string>
|
||||||
<string key="NSColorName">controlTextColor</string>
|
<string key="NSColorName">controlTextColor</string>
|
||||||
<object class="NSColor" key="NSColor" id="214098874">
|
<object class="NSColor" key="NSColor">
|
||||||
<int key="NSColorSpace">3</int>
|
<int key="NSColorSpace">3</int>
|
||||||
<bytes key="NSWhite">MAA</bytes>
|
<bytes key="NSWhite">MAA</bytes>
|
||||||
</object>
|
</object>
|
||||||
|
@ -495,6 +496,7 @@ Y2FjaW9uZXMgWDExIHF1ZSB1c2VuIGVsIG1vZGlmaWNhZG9yIE1ldGEuA</string>
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrame">{{36, 170}, {501, 34}}</string>
|
<string key="NSFrame">{{36, 170}, {501, 34}}</string>
|
||||||
<reference key="NSSuperview" ref="596750588"/>
|
<reference key="NSSuperview" ref="596750588"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="649334366">
|
<object class="NSTextFieldCell" key="NSCell" id="649334366">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
|
@ -513,6 +515,7 @@ IHBhcmEgYWN0aXZhciBlbCBib3TDs24gY2VudHJhbCBvIGRlcmVjaG8gZGVsIHJhdMOzbi4KA</strin
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrame">{{18, 88}, {402, 18}}</string>
|
<string key="NSFrame">{{18, 88}, {402, 18}}</string>
|
||||||
<reference key="NSSuperview" ref="596750588"/>
|
<reference key="NSSuperview" ref="596750588"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="940564599">
|
<object class="NSButtonCell" key="NSCell" id="940564599">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
|
@ -535,12 +538,12 @@ IHBhcmEgYWN0aXZhciBlbCBib3TDs24gY2VudHJhbCBvIGRlcmVjaG8gZGVsIHJhdMOzbi4KA</strin
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrame">{{36, 112}, {501, 28}}</string>
|
<string key="NSFrame">{{36, 112}, {501, 28}}</string>
|
||||||
<reference key="NSSuperview" ref="596750588"/>
|
<reference key="NSSuperview" ref="596750588"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="666057093">
|
<object class="NSTextFieldCell" key="NSCell" id="666057093">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">UGVybWl0ZSBxdWUgbG9zIGNhbWJpb3MgZW4gZWwgbWVuw7ogZGUgdGVjbGFkbyByZWVtcGxhY2VuIGxh
|
<string key="NSContents">Permite que los cambios en el menú de teclado reemplacen la distribución de teclas actual de X11.</string>
|
||||||
IGRpc3RyaWJ1Y2nDs24gZGUgdGVjbGFzIGFjdHVhbCBkZSBYMTEuA</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
<reference key="NSControlView" ref="31160162"/>
|
<reference key="NSControlView" ref="31160162"/>
|
||||||
|
@ -553,11 +556,12 @@ IGRpc3RyaWJ1Y2nDs24gZGUgdGVjbGFzIGFjdHVhbCBkZSBYMTEuA</string>
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrame">{{18, 146}, {402, 18}}</string>
|
<string key="NSFrame">{{18, 146}, {402, 18}}</string>
|
||||||
<reference key="NSSuperview" ref="596750588"/>
|
<reference key="NSSuperview" ref="596750588"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="967619578">
|
<object class="NSButtonCell" key="NSCell" id="967619578">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
<string type="base64-UTF8" key="NSContents">U2VndWlyIGxhIGRpc3RyaWJ1Y2nDs24gZGUgdGVjbGFkbyBkZWwgc2lzdGVtYQ</string>
|
<string key="NSContents">Seguir la distribución de teclado del sistema</string>
|
||||||
<reference key="NSSupport" ref="463863101"/>
|
<reference key="NSSupport" ref="463863101"/>
|
||||||
<reference key="NSControlView" ref="179949713"/>
|
<reference key="NSControlView" ref="179949713"/>
|
||||||
<int key="NSButtonFlags">1211912703</int>
|
<int key="NSButtonFlags">1211912703</int>
|
||||||
|
@ -573,6 +577,7 @@ IGRpc3RyaWJ1Y2nDs24gZGUgdGVjbGFzIGFjdHVhbCBkZSBYMTEuA</string>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSFrame">{{10, 33}, {573, 246}}</string>
|
<string key="NSFrame">{{10, 33}, {573, 246}}</string>
|
||||||
<reference key="NSSuperview" ref="448510093"/>
|
<reference key="NSSuperview" ref="448510093"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSLabel">Entrada</string>
|
<string key="NSLabel">Entrada</string>
|
||||||
<reference key="NSColor" ref="57160303"/>
|
<reference key="NSColor" ref="57160303"/>
|
||||||
|
@ -618,9 +623,7 @@ IGRpc3RyaWJ1Y2nDs24gZGUgdGVjbGFzIGFjdHVhbCBkZSBYMTEuA</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="624655599">
|
<object class="NSTextFieldCell" key="NSCell" id="624655599">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">TG9zIHNvbmlkb3MgZGUgWDExIHVzYXLDoW4gZWwgc29uaWRvIGRlIGFsZXJ0YSBlc3TDoW5kYXIgZGVs
|
<string key="NSContents">Los sonidos de X11 usarán el sonido de alerta estándar del sistema definido en la pestaña “Efectos de sonido” del panel Sonido de Preferencias del Sistema.</string>
|
||||||
IHNpc3RlbWEgZGVmaW5pZG8gZW4gZWwgcGFuZWwg4oCcRWZlY3RvcyBkZSBzb25pZG/igJ0gZGUgUHJl
|
|
||||||
ZmVyZW5jaWFzIGRlbCBTaXN0ZW1hLg</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
<reference key="NSControlView" ref="1039016593"/>
|
<reference key="NSControlView" ref="1039016593"/>
|
||||||
|
@ -654,7 +657,7 @@ ZmVyZW5jaWFzIGRlbCBTaXN0ZW1hLg</string>
|
||||||
<int key="NSPeriodicInterval">75</int>
|
<int key="NSPeriodicInterval">75</int>
|
||||||
<object class="NSMenuItem" key="NSMenuItem" id="616492372">
|
<object class="NSMenuItem" key="NSMenuItem" id="616492372">
|
||||||
<reference key="NSMenu" ref="341113515"/>
|
<reference key="NSMenu" ref="341113515"/>
|
||||||
<string key="NSTitle">Los de la pantalla</string>
|
<string key="NSTitle">Desde la pantalla</string>
|
||||||
<string key="NSKeyEquiv"/>
|
<string key="NSKeyEquiv"/>
|
||||||
<int key="NSKeyEquivModMask">1048576</int>
|
<int key="NSKeyEquivModMask">1048576</int>
|
||||||
<int key="NSMnemonicLoc">2147483647</int>
|
<int key="NSMnemonicLoc">2147483647</int>
|
||||||
|
@ -744,8 +747,7 @@ ZmVyZW5jaWFzIGRlbCBTaXN0ZW1hLg</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="311969422">
|
<object class="NSTextFieldCell" key="NSCell" id="311969422">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">RXN0YSBvcGNpw7NuIHNlcsOhIGVmZWN0aXZhIGxhIHByw7N4aW1hIHZleiBxdWUgc2UgaW5pY2llIFgx
|
<string key="NSContents">Esta opción será efectiva la próxima vez que se inicie X11.</string>
|
||||||
MS4</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
<reference key="NSControlView" ref="86150604"/>
|
<reference key="NSControlView" ref="86150604"/>
|
||||||
|
@ -784,8 +786,7 @@ MS4</string>
|
||||||
<object class="NSButtonCell" key="NSCell" id="917248662">
|
<object class="NSButtonCell" key="NSCell" id="917248662">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
<string type="base64-UTF8" key="NSContents">TW9zdHJhIGJhcnJhIGRlIG1lbsO6cyBhdXRvbcOhdGljYW1lbnRlIGVuIGxhIG1vZGFsaWRhZCBkZSBw
|
<string key="NSContents">Mostra barra de menús automáticamente en la modalidad de pantalla completa </string>
|
||||||
YW50YWxsYSBjb21wbGV0YSA</string>
|
|
||||||
<reference key="NSSupport" ref="463863101"/>
|
<reference key="NSSupport" ref="463863101"/>
|
||||||
<reference key="NSControlView" ref="57246850"/>
|
<reference key="NSControlView" ref="57246850"/>
|
||||||
<int key="NSButtonFlags">1211912703</int>
|
<int key="NSButtonFlags">1211912703</int>
|
||||||
|
@ -807,9 +808,7 @@ YW50YWxsYSBjb21wbGV0YSA</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="761107402">
|
<object class="NSTextFieldCell" key="NSCell" id="761107402">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">QWN0aXZhIGxhIHZlbnRhbmEgcmHDrXogZGUgWDExLiBVc2UgbGEgY29tYmluYWNpw7NuIGRlIHRlY2xh
|
<string key="NSContents">Activa la ventana raíz de X11. Use la combinación de teclas Comando + Opción + A para entrar o salir de la modalidad de pantalla completa.</string>
|
||||||
cyBDb21hbmRvICsgT3BjacOzbiArIEEgcGFyYSBlbnRyYXIgbyBzYWxpciBkZSBsYSBtb2RhbGlkYWQg
|
|
||||||
ZGUgcGFudGFsbGEgY29tcGxldGEuA</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
<reference key="NSControlView" ref="298603383"/>
|
<reference key="NSControlView" ref="298603383"/>
|
||||||
|
@ -842,7 +841,7 @@ ZGUgcGFudGFsbGEgY29tcGxldGEuA</string>
|
||||||
<object class="NSButtonCell" key="NSCell" id="718083688">
|
<object class="NSButtonCell" key="NSCell" id="718083688">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
<string type="base64-UTF8" key="NSContents">QWN0aXZhciBzaW5jcm9uaXphY2nDs24</string>
|
<string key="NSContents">Activar sincronización</string>
|
||||||
<reference key="NSSupport" ref="463863101"/>
|
<reference key="NSSupport" ref="463863101"/>
|
||||||
<reference key="NSControlView" ref="878106058"/>
|
<reference key="NSControlView" ref="878106058"/>
|
||||||
<int key="NSButtonFlags">1211912703</int>
|
<int key="NSButtonFlags">1211912703</int>
|
||||||
|
@ -864,9 +863,7 @@ ZGUgcGFudGFsbGEgY29tcGxldGEuA</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="572508492">
|
<object class="NSTextFieldCell" key="NSCell" id="572508492">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">QWN0aXZhIGVsIMOtdGVtIGRlIG1lbsO6ICJjb3BpYXIiIHkgcGVybWl0ZSBzaW5jcm9uaXphciBlbCBw
|
<string key="NSContents">Activa el ítem de menú “copiar” y permite sincronizar el portapapeles de OSX y los búfers CLIPBOARD y PRIMARY de X11.</string>
|
||||||
b3J0YXBhcGVsZXMgZGUgT1NYIHkgbG9zIGLDumZlcnMgQ0xJUEJPQVJEIHkgUFJJTUFSWSBkZSBYMTEu
|
|
||||||
A</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<reference key="NSControlView" ref="386152084"/>
|
<reference key="NSControlView" ref="386152084"/>
|
||||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||||
|
@ -904,8 +901,7 @@ A</string>
|
||||||
<object class="NSButtonCell" key="NSCell" id="510771323">
|
<object class="NSButtonCell" key="NSCell" id="510771323">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
<string type="base64-UTF8" key="NSContents">QWN0dWFsaXphciBlbCBQUklNQVJZIChjbGljIGNvbiBlbCBib3TDs24gY2VudHJhbCkgY3VhbmRvIGNh
|
<string key="NSContents">Actualizar el PRIMARY (clic con el botón central) cuando cambie el portapapeles.</string>
|
||||||
bWJpZSBlbCBwb3J0YXBhcGVsZXMuA</string>
|
|
||||||
<reference key="NSSupport" ref="463863101"/>
|
<reference key="NSSupport" ref="463863101"/>
|
||||||
<reference key="NSControlView" ref="765780304"/>
|
<reference key="NSControlView" ref="765780304"/>
|
||||||
<int key="NSButtonFlags">1211912703</int>
|
<int key="NSButtonFlags">1211912703</int>
|
||||||
|
@ -971,8 +967,7 @@ bWJpZSBlbCBwb3J0YXBhcGVsZXMuA</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="461823902">
|
<object class="NSTextFieldCell" key="NSCell" id="461823902">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">RGVzYWN0aXZlIGVzdGEgb3BjacOzbiBzaSBkZXNlYSB1c2FyIHhjbGlwYm9hcmQsIGtsaXBwZXIgbyBj
|
<string key="NSContents">Desactive esta opción si desea usar xclipboard, klipper o cualquier otro gestor de portapapeles de X11.</string>
|
||||||
dWFscXVpZXIgb3RybyBnZXN0b3IgZGUgcG9ydGFwYXBlbGVzIGRlIFgxMS4</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<reference key="NSControlView" ref="620944856"/>
|
<reference key="NSControlView" ref="620944856"/>
|
||||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||||
|
@ -988,8 +983,7 @@ dWFscXVpZXIgb3RybyBnZXN0b3IgZGUgcG9ydGFwYXBlbGVzIGRlIFgxMS4</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="994587858">
|
<object class="NSTextFieldCell" key="NSCell" id="994587858">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">QSBjYXVzYSBkZSBsYXMgbGltaXRhY2lvbmVzIGRlbCBwcm90b2NvbG8gZGUgWDExLCBwdWVkZSBxdWUg
|
<string key="NSContents">A causa de las limitaciones del protocolo de X11, puede que esta opción no funcione siempre en algunas aplicaciones.</string>
|
||||||
ZXN0YSBvcGNpw7NuIG5vIGZ1bmNpb25lIHNpZW1wcmUgZW4gYWxndW5hcyBhcGxpY2FjaW9uZXMuA</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<reference key="NSControlView" ref="522511724"/>
|
<reference key="NSControlView" ref="522511724"/>
|
||||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||||
|
@ -1043,9 +1037,7 @@ ZXN0YSBvcGNpw7NuIG5vIGZ1bmNpb25lIHNpZW1wcmUgZW4gYWxndW5hcyBhcGxpY2FjaW9uZXMuA</s
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="399127858">
|
<object class="NSTextFieldCell" key="NSCell" id="399127858">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">Q3VhbmRvIGVzdMOhIGFjdGl2YWRhLCBhbCBoYWNlciBjbGljIGVuIHVuYSB2ZW50YW5hIGluYWN0aXZh
|
<string key="NSContents">Cuando está activada, al hacer clic en una ventana inactiva, la ventana se activa y además el clic del ratón se transmite a ella.</string>
|
||||||
LCBsYSB2ZW50YW5hIHNlIGFjdGl2YSB5IGFkZW3DoXMgZWwgY2xpYyBkZWwgcmF0w7NuIHNlIHRyYW5z
|
|
||||||
bWl0ZSBhIGVsbGEuA</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<reference key="NSControlView" ref="290578835"/>
|
<reference key="NSControlView" ref="290578835"/>
|
||||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||||
|
@ -1061,7 +1053,7 @@ bWl0ZSBhIGVsbGEuA</string>
|
||||||
<object class="NSButtonCell" key="NSCell" id="959555182">
|
<object class="NSButtonCell" key="NSCell" id="959555182">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">0</int>
|
||||||
<string type="base64-UTF8" key="NSContents">RW5mb2NhciBsYSBwb3NpY2nDs24gZGVsIHJhdMOzbg</string>
|
<string key="NSContents">Enfocar la posición del ratón</string>
|
||||||
<reference key="NSSupport" ref="463863101"/>
|
<reference key="NSSupport" ref="463863101"/>
|
||||||
<reference key="NSControlView" ref="992839333"/>
|
<reference key="NSControlView" ref="992839333"/>
|
||||||
<int key="NSButtonFlags">1211912703</int>
|
<int key="NSButtonFlags">1211912703</int>
|
||||||
|
@ -1121,9 +1113,7 @@ bWl0ZSBhIGVsbGEuA</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="989804990">
|
<object class="NSTextFieldCell" key="NSCell" id="989804990">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">Q3VhbmRvIGVzdMOhIGFjdGl2YWRhLCBhbCBjcmVhciB1bmEgbnVldmEgdmVudGFuYSBkZSBYMTEgZWwg
|
<string key="NSContents">Cuando está activada, al crear una nueva ventana de X11 el archivo X11.app se sitúa en primer plano (por encima de Finder.app, Terminal.app, etc.)</string>
|
||||||
YXJjaGl2byBYMTEuYXBwIHNlIHNpdMO6YSBlbiBwcmltZXIgcGxhbm8gKHBvciBlbmNpbWEgZGUgRmlu
|
|
||||||
ZGVyLmFwcCwgVGVybWluYWwuYXBwLCBldGMuKQ</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<reference key="NSControlView" ref="57161931"/>
|
<reference key="NSControlView" ref="57161931"/>
|
||||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||||
|
@ -1196,10 +1186,7 @@ ZGVyLmFwcCwgVGVybWluYWwuYXBwLCBldGMuKQ</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="53243865">
|
<object class="NSTextFieldCell" key="NSCell" id="53243865">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">QWwgaW5pY2lhciBYMTEgc2UgY3JlYXLDoW4gdW5hcyBjbGF2ZXMgZGUgY29udHJvbCBkZSBhY2Nlc28g
|
<string key="NSContents">Al iniciar X11 se crearán unas claves de control de acceso Xauthority. Si la dirección IP del sistema cambia, estas claves dejarán de ser válidas, lo que impediría que pudiesen ejecutarse las aplicaciones X11.</string>
|
||||||
WGF1dGhvcml0eS4gU2kgbGEgZGlyZWNjacOzbiBJUCBkZWwgc2lzdGVtYSBjYW1iaWEsIGVzdGFzIGNs
|
|
||||||
YXZlcyBkZWphcsOhbiBkZSBzZXIgdsOhbGlkYXMsIGxvIHF1ZSBpbXBlZGlyw61hIHF1ZSBwdWRpZXNl
|
|
||||||
biBlamVjdXRhcnNlIGxhcyBhcGxpY2FjaW9uZXMgWDExLg</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
<reference key="NSControlView" ref="168436707"/>
|
<reference key="NSControlView" ref="168436707"/>
|
||||||
|
@ -1216,10 +1203,7 @@ biBlamVjdXRhcnNlIGxhcyBhcGxpY2FjaW9uZXMgWDExLg</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="390084685">
|
<object class="NSTextFieldCell" key="NSCell" id="390084685">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">U2kgZXN0YSBvcGNpw7NuIGVzdMOhIGFjdGl2YWRhLCBsYSBvcGNpw7NuIOKAnEF1dGVudGljYXIgY29u
|
<string key="NSContents">Si esta opción está activada, la opción “Autenticar conexiones” también debe estarlo para garantizar la seguridad del sistema. Si está desactivada, las conexiones de aplicaciones remotas no están permitidas.</string>
|
||||||
ZXhpb25lc+KAnSB0YW1iacOpbiBkZWJlIGVzdGFybG8gcGFyYSBnYXJhbnRpemFyIGxhIHNlZ3VyaWRh
|
|
||||||
ZCBkZWwgc2lzdGVtYS4gU2kgZXN0w6EgZGVzYWN0aXZhZGEsIGxhcyBjb25leGlvbmVzIGRlIGFwbGlj
|
|
||||||
YWNpb25lcyByZW1vdGFzIG5vIGVzdMOhbiBwZXJtaXRpZGFzLg</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
<reference key="NSControlView" ref="363817195"/>
|
<reference key="NSControlView" ref="363817195"/>
|
||||||
|
@ -1236,8 +1220,7 @@ YWNpb25lcyByZW1vdGFzIG5vIGVzdMOhbiBwZXJtaXRpZGFzLg</string>
|
||||||
<object class="NSTextFieldCell" key="NSCell" id="283628678">
|
<object class="NSTextFieldCell" key="NSCell" id="283628678">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
<int key="NSCellFlags2">4194304</int>
|
<int key="NSCellFlags2">4194304</int>
|
||||||
<string type="base64-UTF8" key="NSContents">RXN0YXMgb3BjaW9uZXMgc2Vyw6FuIGVmZWN0aXZhcyBsYSBwcsOzeGltYSB2ZXogcXVlIHNlIGluaWNp
|
<string key="NSContents">Estas opciones serán efectivas la próxima vez que se inicie X11.</string>
|
||||||
ZSBYMTEuA</string>
|
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<string key="NSPlaceholderString"/>
|
<string key="NSPlaceholderString"/>
|
||||||
<reference key="NSControlView" ref="223835729"/>
|
<reference key="NSControlView" ref="223835729"/>
|
||||||
|
@ -1265,10 +1248,12 @@ ZSBYMTEuA</string>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSFrameSize">{619, 308}</string>
|
<string key="NSFrameSize">{619, 308}</string>
|
||||||
|
<reference key="NSSuperview"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</string>
|
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</string>
|
||||||
<string key="NSMinSize">{320, 262}</string>
|
<string key="NSMinSize">{320, 262}</string>
|
||||||
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSFrameAutosaveName">x11_prefs</string>
|
<string key="NSFrameAutosaveName">x11_prefs</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSWindowTemplate" id="604417141">
|
<object class="NSWindowTemplate" id="604417141">
|
||||||
|
@ -1276,15 +1261,15 @@ ZSBYMTEuA</string>
|
||||||
<int key="NSWindowBacking">2</int>
|
<int key="NSWindowBacking">2</int>
|
||||||
<string key="NSWindowRect">{{302, 440}, {454, 271}}</string>
|
<string key="NSWindowRect">{{302, 440}, {454, 271}}</string>
|
||||||
<int key="NSWTFlags">1350041600</int>
|
<int key="NSWTFlags">1350041600</int>
|
||||||
<string type="base64-UTF8" key="NSWindowTitle">TWVuw7ogZGUgYXBsaWNhY2lvbmVzIFgxMQ</string>
|
<string key="NSWindowTitle">Menú de aplicaciones X11</string>
|
||||||
<string key="NSWindowClass">NSPanel</string>
|
<string key="NSWindowClass">NSPanel</string>
|
||||||
<object class="NSMutableString" key="NSViewClass">
|
<object class="NSMutableString" key="NSViewClass">
|
||||||
<characters key="NS.bytes">View</characters>
|
<characters key="NS.bytes">View</characters>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSWindowContentMinSize">{320, 240}</string>
|
<string key="NSWindowContentMinSize">{320, 240}</string>
|
||||||
<object class="NSView" key="NSWindowView" id="85544634">
|
<object class="NSView" key="NSWindowView" id="85544634">
|
||||||
<nil key="NSNextResponder"/>
|
<reference key="NSNextResponder"/>
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<object class="NSMutableArray" key="NSSubviews">
|
<object class="NSMutableArray" key="NSSubviews">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
@ -1293,6 +1278,7 @@ ZSBYMTEuA</string>
|
||||||
<int key="NSvFlags">265</int>
|
<int key="NSvFlags">265</int>
|
||||||
<string key="NSFrame">{{340, 191}, {110, 32}}</string>
|
<string key="NSFrame">{{340, 191}, {110, 32}}</string>
|
||||||
<reference key="NSSuperview" ref="85544634"/>
|
<reference key="NSSuperview" ref="85544634"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="143554520">
|
<object class="NSButtonCell" key="NSCell" id="143554520">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
|
@ -1316,6 +1302,7 @@ ZSBYMTEuA</string>
|
||||||
<int key="NSvFlags">265</int>
|
<int key="NSvFlags">265</int>
|
||||||
<string key="NSFrame">{{340, 159}, {110, 32}}</string>
|
<string key="NSFrame">{{340, 159}, {110, 32}}</string>
|
||||||
<reference key="NSSuperview" ref="85544634"/>
|
<reference key="NSSuperview" ref="85544634"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="8201128">
|
<object class="NSButtonCell" key="NSCell" id="8201128">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">67239424</int>
|
||||||
|
@ -1349,12 +1336,14 @@ ZSBYMTEuA</string>
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrameSize">{301, 198}</string>
|
<string key="NSFrameSize">{301, 198}</string>
|
||||||
<reference key="NSSuperview" ref="580565898"/>
|
<reference key="NSSuperview" ref="580565898"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSTableHeaderView" key="NSHeaderView" id="792419186">
|
<object class="NSTableHeaderView" key="NSHeaderView" id="792419186">
|
||||||
<reference key="NSNextResponder" ref="672307654"/>
|
<reference key="NSNextResponder" ref="672307654"/>
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrameSize">{301, 17}</string>
|
<string key="NSFrameSize">{301, 17}</string>
|
||||||
<reference key="NSSuperview" ref="672307654"/>
|
<reference key="NSSuperview" ref="672307654"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<reference key="NSTableView" ref="905092943"/>
|
<reference key="NSTableView" ref="905092943"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="_NSCornerView" key="NSCornerView" id="898633680">
|
<object class="_NSCornerView" key="NSCornerView" id="898633680">
|
||||||
|
@ -1362,6 +1351,7 @@ ZSBYMTEuA</string>
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrame">{{302, 0}, {16, 17}}</string>
|
<string key="NSFrame">{{302, 0}, {16, 17}}</string>
|
||||||
<reference key="NSSuperview" ref="1063387772"/>
|
<reference key="NSSuperview" ref="1063387772"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableArray" key="NSTableColumns">
|
<object class="NSMutableArray" key="NSTableColumns">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
@ -1370,19 +1360,22 @@ ZSBYMTEuA</string>
|
||||||
<double key="NSMinWidth">62.730998992919922</double>
|
<double key="NSMinWidth">62.730998992919922</double>
|
||||||
<double key="NSMaxWidth">1000</double>
|
<double key="NSMaxWidth">1000</double>
|
||||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||||
<int key="NSCellFlags">75628032</int>
|
<int key="NSCellFlags">75628096</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">2048</int>
|
||||||
<string key="NSContents">Nombre</string>
|
<string key="NSContents">Nombre</string>
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<object class="NSColor" key="NSBackgroundColor" id="113872566">
|
<object class="NSColor" key="NSBackgroundColor" id="113872566">
|
||||||
<int key="NSColorSpace">3</int>
|
<int key="NSColorSpace">3</int>
|
||||||
<bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
|
<bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSColor" key="NSTextColor" id="249576247">
|
<object class="NSColor" key="NSTextColor" id="336770154">
|
||||||
<int key="NSColorSpace">6</int>
|
<int key="NSColorSpace">6</int>
|
||||||
<string key="NSCatalogName">System</string>
|
<string key="NSCatalogName">System</string>
|
||||||
<string key="NSColorName">headerTextColor</string>
|
<string key="NSColorName">disabledControlTextColor</string>
|
||||||
<reference key="NSColor" ref="214098874"/>
|
<object class="NSColor" key="NSColor">
|
||||||
|
<int key="NSColorSpace">3</int>
|
||||||
|
<bytes key="NSWhite">MC4zMzMzMzMzMzMzAA</bytes>
|
||||||
|
</object>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSTextFieldCell" key="NSDataCell" id="825378892">
|
<object class="NSTextFieldCell" key="NSDataCell" id="825378892">
|
||||||
|
@ -1405,16 +1398,16 @@ ZSBYMTEuA</string>
|
||||||
<string key="NSHeaderToolTip"/>
|
<string key="NSHeaderToolTip"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSTableColumn" id="84282687">
|
<object class="NSTableColumn" id="84282687">
|
||||||
<double key="NSWidth">99</double>
|
<double key="NSWidth">88</double>
|
||||||
<double key="NSMinWidth">40</double>
|
<double key="NSMinWidth">40</double>
|
||||||
<double key="NSMaxWidth">1000</double>
|
<double key="NSMaxWidth">1000</double>
|
||||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||||
<int key="NSCellFlags">75628032</int>
|
<int key="NSCellFlags">75628096</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">2048</int>
|
||||||
<string key="NSContents">Comando</string>
|
<string key="NSContents">Comando</string>
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<reference key="NSBackgroundColor" ref="113872566"/>
|
<reference key="NSBackgroundColor" ref="113872566"/>
|
||||||
<reference key="NSTextColor" ref="249576247"/>
|
<reference key="NSTextColor" ref="336770154"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSTextFieldCell" key="NSDataCell" id="432610585">
|
<object class="NSTextFieldCell" key="NSDataCell" id="432610585">
|
||||||
<int key="NSCellFlags">338820672</int>
|
<int key="NSCellFlags">338820672</int>
|
||||||
|
@ -1433,13 +1426,13 @@ ZSBYMTEuA</string>
|
||||||
<string key="NSHeaderToolTip"/>
|
<string key="NSHeaderToolTip"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSTableColumn" id="242608782">
|
<object class="NSTableColumn" id="242608782">
|
||||||
<double key="NSWidth">71</double>
|
<double key="NSWidth">82</double>
|
||||||
<double key="NSMinWidth">10</double>
|
<double key="NSMinWidth">10</double>
|
||||||
<double key="NSMaxWidth">1000</double>
|
<double key="NSMaxWidth">1000</double>
|
||||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||||
<int key="NSCellFlags">67239424</int>
|
<int key="NSCellFlags">75628096</int>
|
||||||
<int key="NSCellFlags2">0</int>
|
<int key="NSCellFlags2">2048</int>
|
||||||
<string type="base64-UTF8" key="NSContents">RnVuY2nDs24gcsOhcGlkYQ</string>
|
<string key="NSContents">Función rápida</string>
|
||||||
<reference key="NSSupport" ref="26"/>
|
<reference key="NSSupport" ref="26"/>
|
||||||
<object class="NSColor" key="NSBackgroundColor">
|
<object class="NSColor" key="NSBackgroundColor">
|
||||||
<int key="NSColorSpace">6</int>
|
<int key="NSColorSpace">6</int>
|
||||||
|
@ -1447,7 +1440,7 @@ ZSBYMTEuA</string>
|
||||||
<string key="NSColorName">headerColor</string>
|
<string key="NSColorName">headerColor</string>
|
||||||
<reference key="NSColor" ref="822946413"/>
|
<reference key="NSColor" ref="822946413"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="NSTextColor" ref="249576247"/>
|
<reference key="NSTextColor" ref="336770154"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSTextFieldCell" key="NSDataCell" id="34714764">
|
<object class="NSTextFieldCell" key="NSDataCell" id="34714764">
|
||||||
<int key="NSCellFlags">338820672</int>
|
<int key="NSCellFlags">338820672</int>
|
||||||
|
@ -1465,7 +1458,7 @@ ZSBYMTEuA</string>
|
||||||
<int key="NSColorSpace">6</int>
|
<int key="NSColorSpace">6</int>
|
||||||
<string key="NSCatalogName">System</string>
|
<string key="NSCatalogName">System</string>
|
||||||
<string key="NSColorName">controlBackgroundColor</string>
|
<string key="NSColorName">controlBackgroundColor</string>
|
||||||
<reference key="NSColor" ref="92723341"/>
|
<reference key="NSColor" ref="193651701"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="NSTextColor" ref="930815747"/>
|
<reference key="NSTextColor" ref="930815747"/>
|
||||||
</object>
|
</object>
|
||||||
|
@ -1496,10 +1489,12 @@ ZSBYMTEuA</string>
|
||||||
<int key="NSDraggingSourceMaskForLocal">-1</int>
|
<int key="NSDraggingSourceMaskForLocal">-1</int>
|
||||||
<int key="NSDraggingSourceMaskForNonLocal">0</int>
|
<int key="NSDraggingSourceMaskForNonLocal">0</int>
|
||||||
<bool key="NSAllowsTypeSelect">YES</bool>
|
<bool key="NSAllowsTypeSelect">YES</bool>
|
||||||
|
<int key="NSTableViewDraggingDestinationStyle">0</int>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSFrame">{{1, 17}, {301, 198}}</string>
|
<string key="NSFrame">{{1, 17}, {301, 198}}</string>
|
||||||
<reference key="NSSuperview" ref="1063387772"/>
|
<reference key="NSSuperview" ref="1063387772"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<reference key="NSNextKeyView" ref="905092943"/>
|
<reference key="NSNextKeyView" ref="905092943"/>
|
||||||
<reference key="NSDocView" ref="905092943"/>
|
<reference key="NSDocView" ref="905092943"/>
|
||||||
<reference key="NSBGColor" ref="812484075"/>
|
<reference key="NSBGColor" ref="812484075"/>
|
||||||
|
@ -1510,6 +1505,7 @@ ZSBYMTEuA</string>
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrame">{{302, 17}, {15, 198}}</string>
|
<string key="NSFrame">{{302, 17}, {15, 198}}</string>
|
||||||
<reference key="NSSuperview" ref="1063387772"/>
|
<reference key="NSSuperview" ref="1063387772"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<reference key="NSTarget" ref="1063387772"/>
|
<reference key="NSTarget" ref="1063387772"/>
|
||||||
<string key="NSAction">_doScroller:</string>
|
<string key="NSAction">_doScroller:</string>
|
||||||
<double key="NSPercent">0.99492377042770386</double>
|
<double key="NSPercent">0.99492377042770386</double>
|
||||||
|
@ -1519,10 +1515,11 @@ ZSBYMTEuA</string>
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<string key="NSFrame">{{1, 215}, {301, 15}}</string>
|
<string key="NSFrame">{{1, 215}, {301, 15}}</string>
|
||||||
<reference key="NSSuperview" ref="1063387772"/>
|
<reference key="NSSuperview" ref="1063387772"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<int key="NSsFlags">1</int>
|
<int key="NSsFlags">1</int>
|
||||||
<reference key="NSTarget" ref="1063387772"/>
|
<reference key="NSTarget" ref="1063387772"/>
|
||||||
<string key="NSAction">_doScroller:</string>
|
<string key="NSAction">_doScroller:</string>
|
||||||
<double key="NSPercent">0.68852460384368896</double>
|
<double key="NSPercent">0.99668874172185429</double>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSClipView" id="672307654">
|
<object class="NSClipView" id="672307654">
|
||||||
<reference key="NSNextResponder" ref="1063387772"/>
|
<reference key="NSNextResponder" ref="1063387772"/>
|
||||||
|
@ -1533,6 +1530,7 @@ ZSBYMTEuA</string>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSFrame">{{1, 0}, {301, 17}}</string>
|
<string key="NSFrame">{{1, 0}, {301, 17}}</string>
|
||||||
<reference key="NSSuperview" ref="1063387772"/>
|
<reference key="NSSuperview" ref="1063387772"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<reference key="NSNextKeyView" ref="792419186"/>
|
<reference key="NSNextKeyView" ref="792419186"/>
|
||||||
<reference key="NSDocView" ref="792419186"/>
|
<reference key="NSDocView" ref="792419186"/>
|
||||||
<reference key="NSBGColor" ref="812484075"/>
|
<reference key="NSBGColor" ref="812484075"/>
|
||||||
|
@ -1542,6 +1540,7 @@ ZSBYMTEuA</string>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSFrame">{{20, 20}, {318, 231}}</string>
|
<string key="NSFrame">{{20, 20}, {318, 231}}</string>
|
||||||
<reference key="NSSuperview" ref="85544634"/>
|
<reference key="NSSuperview" ref="85544634"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<reference key="NSNextKeyView" ref="580565898"/>
|
<reference key="NSNextKeyView" ref="580565898"/>
|
||||||
<int key="NSsFlags">50</int>
|
<int key="NSsFlags">50</int>
|
||||||
<reference key="NSVScroller" ref="842897584"/>
|
<reference key="NSVScroller" ref="842897584"/>
|
||||||
|
@ -1556,11 +1555,12 @@ ZSBYMTEuA</string>
|
||||||
<int key="NSvFlags">265</int>
|
<int key="NSvFlags">265</int>
|
||||||
<string key="NSFrame">{{340, 223}, {114, 32}}</string>
|
<string key="NSFrame">{{340, 223}, {114, 32}}</string>
|
||||||
<reference key="NSSuperview" ref="85544634"/>
|
<reference key="NSSuperview" ref="85544634"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
<bool key="NSEnabled">YES</bool>
|
<bool key="NSEnabled">YES</bool>
|
||||||
<object class="NSButtonCell" key="NSCell" id="1025474039">
|
<object class="NSButtonCell" key="NSCell" id="1025474039">
|
||||||
<int key="NSCellFlags">-2080244224</int>
|
<int key="NSCellFlags">-2080244224</int>
|
||||||
<int key="NSCellFlags2">137887744</int>
|
<int key="NSCellFlags2">137887744</int>
|
||||||
<string type="base64-UTF8" key="NSContents">QcOxYWRpciDDrXRlbQ</string>
|
<string key="NSContents">Añadir ítem</string>
|
||||||
<reference key="NSSupport" ref="463863101"/>
|
<reference key="NSSupport" ref="463863101"/>
|
||||||
<reference key="NSControlView" ref="758204686"/>
|
<reference key="NSControlView" ref="758204686"/>
|
||||||
<int key="NSButtonFlags">-2038284033</int>
|
<int key="NSButtonFlags">-2038284033</int>
|
||||||
|
@ -1576,14 +1576,16 @@ ZSBYMTEuA</string>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSFrameSize">{454, 271}</string>
|
<string key="NSFrameSize">{454, 271}</string>
|
||||||
|
<reference key="NSSuperview"/>
|
||||||
|
<reference key="NSWindow"/>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</string>
|
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</string>
|
||||||
<string key="NSMinSize">{320, 262}</string>
|
<string key="NSMinSize">{320, 262}</string>
|
||||||
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSFrameAutosaveName">x11_apps</string>
|
<string key="NSFrameAutosaveName">x11_apps</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMenu" id="294137138">
|
<object class="NSMenu" id="294137138">
|
||||||
<string type="base64-UTF8" key="NSTitle">TWVuw7o</string>
|
<string key="NSTitle">Menú</string>
|
||||||
<object class="NSMutableArray" key="NSMenuItems">
|
<object class="NSMutableArray" key="NSMenuItems">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSMenuItem" id="318286212">
|
<object class="NSMenuItem" id="318286212">
|
||||||
|
@ -1623,7 +1625,7 @@ ZSBYMTEuA</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMenuItem" id="1032342329">
|
<object class="NSMenuItem" id="1032342329">
|
||||||
<reference key="NSMenu" ref="48278059"/>
|
<reference key="NSMenu" ref="48278059"/>
|
||||||
<string type="base64-UTF8" key="NSTitle">UGVyc29uYWxpemFy4oCmA</string>
|
<string key="NSTitle">Personalizar…</string>
|
||||||
<string key="NSKeyEquiv"/>
|
<string key="NSKeyEquiv"/>
|
||||||
<int key="NSKeyEquivModMask">1048576</int>
|
<int key="NSKeyEquivModMask">1048576</int>
|
||||||
<int key="NSMnemonicLoc">2147483647</int>
|
<int key="NSMnemonicLoc">2147483647</int>
|
||||||
|
@ -2198,28 +2200,26 @@ ZSBYMTEuA</string>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">0</int>
|
<int key="objectID">0</int>
|
||||||
<object class="NSArray" key="object" id="330408435">
|
<reference key="object" ref="0"/>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
|
||||||
</object>
|
|
||||||
<reference key="children" ref="904585544"/>
|
<reference key="children" ref="904585544"/>
|
||||||
<nil key="parent"/>
|
<nil key="parent"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">-2</int>
|
<int key="objectID">-2</int>
|
||||||
<reference key="object" ref="815810918"/>
|
<reference key="object" ref="815810918"/>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
|
<string key="objectName">File's Owner</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">-1</int>
|
<int key="objectID">-1</int>
|
||||||
<reference key="object" ref="941939442"/>
|
<reference key="object" ref="941939442"/>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">First Responder</string>
|
<string key="objectName">First Responder</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">-3</int>
|
<int key="objectID">-3</int>
|
||||||
<reference key="object" ref="951368722"/>
|
<reference key="object" ref="951368722"/>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">Application</string>
|
<string key="objectName">Application</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -2233,7 +2233,7 @@ ZSBYMTEuA</string>
|
||||||
<reference ref="868031522"/>
|
<reference ref="868031522"/>
|
||||||
<reference ref="551174276"/>
|
<reference ref="551174276"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">MainMenu</string>
|
<string key="objectName">MainMenu</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -2478,7 +2478,7 @@ ZSBYMTEuA</string>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">196</int>
|
<int key="objectID">196</int>
|
||||||
<reference key="object" ref="485884620"/>
|
<reference key="object" ref="485884620"/>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">X11Controller</string>
|
<string key="objectName">X11Controller</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -2488,7 +2488,7 @@ ZSBYMTEuA</string>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<reference ref="941366957"/>
|
<reference ref="941366957"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">PrefsPanel</string>
|
<string key="objectName">PrefsPanel</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -2752,7 +2752,7 @@ ZSBYMTEuA</string>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<reference ref="85544634"/>
|
<reference ref="85544634"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">EditPrograms</string>
|
<string key="objectName">EditPrograms</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -2775,7 +2775,7 @@ ZSBYMTEuA</string>
|
||||||
<reference ref="318286212"/>
|
<reference ref="318286212"/>
|
||||||
<reference ref="511651072"/>
|
<reference ref="511651072"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="330408435"/>
|
<reference key="parent" ref="0"/>
|
||||||
<string key="objectName">DockMenu</string>
|
<string key="objectName">DockMenu</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
|
@ -3329,6 +3329,7 @@ ZSBYMTEuA</string>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSArray" key="dict.sortedKeys">
|
<object class="NSArray" key="dict.sortedKeys">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<string>-3.IBPluginDependency</string>
|
||||||
<string>-3.ImportedFromIB2</string>
|
<string>-3.ImportedFromIB2</string>
|
||||||
<string>100292.IBPluginDependency</string>
|
<string>100292.IBPluginDependency</string>
|
||||||
<string>100293.IBPluginDependency</string>
|
<string>100293.IBPluginDependency</string>
|
||||||
|
@ -3618,6 +3619,7 @@ ZSBYMTEuA</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableArray" key="dict.values">
|
<object class="NSMutableArray" key="dict.values">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
@ -3685,10 +3687,10 @@ ZSBYMTEuA</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{271, 666}, {301, 153}}</string>
|
<string>{{271, 666}, {301, 153}}</string>
|
||||||
<string>{{438, 548}, {619, 308}}</string>
|
<string>{{300, 409}, {619, 308}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<boolean value="NO"/>
|
<boolean value="YES"/>
|
||||||
<string>{{438, 548}, {619, 308}}</string>
|
<string>{{300, 409}, {619, 308}}</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{184, 290}, {481, 345}}</string>
|
<string>{{184, 290}, {481, 345}}</string>
|
||||||
<integer value="0"/>
|
<integer value="0"/>
|
||||||
|
@ -3705,11 +3707,11 @@ ZSBYMTEuA</string>
|
||||||
<string>{{100, 746}, {155, 33}}</string>
|
<string>{{100, 746}, {155, 33}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{68, 585}, {454, 271}}</string>
|
<string>{{68, 453}, {454, 271}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{68, 585}, {454, 271}}</string>
|
<string>{{68, 453}, {454, 271}}</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{433, 406}, {486, 327}}</string>
|
<string>{{433, 406}, {486, 327}}</string>
|
||||||
<integer value="0"/>
|
<integer value="0"/>
|
||||||
|
@ -3910,9 +3912,7 @@ ZSBYMTEuA</string>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSArray" key="dict.sortedKeys">
|
<reference key="dict.sortedKeys" ref="0"/>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
|
||||||
</object>
|
|
||||||
<object class="NSMutableArray" key="dict.values">
|
<object class="NSMutableArray" key="dict.values">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
</object>
|
</object>
|
||||||
|
@ -3920,9 +3920,7 @@ ZSBYMTEuA</string>
|
||||||
<nil key="activeLocalization"/>
|
<nil key="activeLocalization"/>
|
||||||
<object class="NSMutableDictionary" key="localizations">
|
<object class="NSMutableDictionary" key="localizations">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
<object class="NSArray" key="dict.sortedKeys">
|
<reference key="dict.sortedKeys" ref="0"/>
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
|
||||||
</object>
|
|
||||||
<object class="NSMutableArray" key="dict.values">
|
<object class="NSMutableArray" key="dict.values">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
</object>
|
</object>
|
||||||
|
@ -3960,6 +3958,15 @@ ZSBYMTEuA</string>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<int key="IBDocument.localizationMode">0</int>
|
<int key="IBDocument.localizationMode">0</int>
|
||||||
|
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
|
||||||
|
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
|
||||||
|
<integer value="1050" key="NS.object.0"/>
|
||||||
|
</object>
|
||||||
|
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||||
|
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
|
||||||
|
<integer value="3000" key="NS.object.0"/>
|
||||||
|
</object>
|
||||||
|
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||||
<string key="IBDocument.LastKnownRelativeProjectPath">../X11.xcodeproj</string>
|
<string key="IBDocument.LastKnownRelativeProjectPath">../X11.xcodeproj</string>
|
||||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||||
</data>
|
</data>
|
||||||
|
|
Binary file not shown.
|
@ -9,6 +9,6 @@
|
||||||
<key>LprojRevisionLevel</key>
|
<key>LprojRevisionLevel</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>LprojVersion</key>
|
<key>LprojVersion</key>
|
||||||
<string>73</string>
|
<string>83</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue