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)
|
||||
{
|
||||
PanoramiXSearchData data;
|
||||
pointer val;
|
||||
|
||||
if(!screen)
|
||||
return LookupIDByType(id, type);
|
||||
if(!screen) {
|
||||
dixLookupResourceByType(&val, id, type, serverClient, DixReadAccess);
|
||||
return val;
|
||||
}
|
||||
|
||||
data.screen = screen;
|
||||
data.id = id;
|
||||
|
|
|
@ -97,6 +97,4 @@ typedef struct {
|
|||
|
||||
#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_ */
|
||||
|
|
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);
|
||||
ColormapPtr pCmap;
|
||||
int rc;
|
||||
|
||||
if (pPriv && pPriv->installedMap != None)
|
||||
{
|
||||
pCmap = (ColormapPtr) LookupIDByType (pPriv->installedMap, RT_COLORMAP);
|
||||
if (pCmap)
|
||||
rc = dixLookupResourceByType((pointer *)&pCmap, pPriv->installedMap,
|
||||
RT_COLORMAP, serverClient,
|
||||
DixUninstallAccess);
|
||||
if (rc == Success)
|
||||
(*pCmap->pScreen->UninstallColormap) (pCmap);
|
||||
pPriv->installedMap = None;
|
||||
CheckScreenPrivate (pScreen);
|
||||
|
@ -651,8 +654,9 @@ CreateSaverWindow (ScreenPtr pScreen)
|
|||
if (i < numInstalled)
|
||||
return TRUE;
|
||||
|
||||
pCmap = (ColormapPtr) LookupIDByType (wantMap, RT_COLORMAP);
|
||||
if (!pCmap)
|
||||
result = dixLookupResourceByType((pointer *)&pCmap, wantMap, RT_COLORMAP,
|
||||
serverClient, DixInstallAccess);
|
||||
if (result != Success)
|
||||
return TRUE;
|
||||
|
||||
pPriv->installedMap = wantMap;
|
||||
|
@ -1252,15 +1256,16 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
|||
PanoramiXRes *backPix = NULL;
|
||||
PanoramiXRes *bordPix = NULL;
|
||||
PanoramiXRes *cmap = NULL;
|
||||
int i, status = 0, len;
|
||||
int i, status, len;
|
||||
int pback_offset = 0, pbord_offset = 0, cmap_offset = 0;
|
||||
XID orig_visual, tmp;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE (xScreenSaverSetAttributesReq);
|
||||
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
||||
return BadDrawable;
|
||||
status = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||
XRC_DRAWABLE, client, DixWriteAccess);
|
||||
if (status != Success)
|
||||
return (status == BadValue) ? BadDrawable : status;
|
||||
|
||||
len = stuff->length - (sizeof(xScreenSaverSetAttributesReq) >> 2);
|
||||
if (Ones(stuff->mask) != len)
|
||||
|
@ -1270,9 +1275,11 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
|||
pback_offset = Ones((Mask)stuff->mask & (CWBackPixmap - 1));
|
||||
tmp = *((CARD32 *) &stuff[1] + pback_offset);
|
||||
if ((tmp != None) && (tmp != ParentRelative)) {
|
||||
if(!(backPix = (PanoramiXRes*) SecurityLookupIDByType(
|
||||
client, tmp, XRT_PIXMAP, DixReadAccess)))
|
||||
return BadPixmap;
|
||||
status = dixLookupResourceByType((pointer *)&backPix, tmp,
|
||||
XRT_PIXMAP, client,
|
||||
DixReadAccess);
|
||||
if (status != Success)
|
||||
return (status == BadValue) ? BadPixmap : status;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1280,9 +1287,11 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
|||
pbord_offset = Ones((Mask)stuff->mask & (CWBorderPixmap - 1));
|
||||
tmp = *((CARD32 *) &stuff[1] + pbord_offset);
|
||||
if (tmp != CopyFromParent) {
|
||||
if(!(bordPix = (PanoramiXRes*) SecurityLookupIDByType(
|
||||
client, tmp, XRT_PIXMAP, DixReadAccess)))
|
||||
return BadPixmap;
|
||||
status = dixLookupResourceByType((pointer *)&bordPix, tmp,
|
||||
XRT_PIXMAP, client,
|
||||
DixReadAccess);
|
||||
if (status != Success)
|
||||
return (status == BadValue) ? BadPixmap : status;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1290,9 +1299,11 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
|||
cmap_offset = Ones((Mask)stuff->mask & (CWColormap - 1));
|
||||
tmp = *((CARD32 *) &stuff[1] + cmap_offset);
|
||||
if ((tmp != CopyFromParent) && (tmp != None)) {
|
||||
if(!(cmap = (PanoramiXRes*) SecurityLookupIDByType(
|
||||
client, tmp, XRT_COLORMAP, DixReadAccess)))
|
||||
return BadColor;
|
||||
status = dixLookupResourceByType((pointer *)&cmap, tmp,
|
||||
XRT_COLORMAP, client,
|
||||
DixReadAccess);
|
||||
if (status != Success)
|
||||
return (status == BadValue) ? BadColor : status;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1327,11 +1338,12 @@ ProcScreenSaverUnsetAttributes (ClientPtr client)
|
|||
if(!noPanoramiXExtension) {
|
||||
REQUEST(xScreenSaverUnsetAttributesReq);
|
||||
PanoramiXRes *draw;
|
||||
int i;
|
||||
int rc, i;
|
||||
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
||||
return BadDrawable;
|
||||
rc = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||
XRC_DRAWABLE, client, DixWriteAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? BadDrawable : rc;
|
||||
|
||||
for(i = PanoramiXNumScreens - 1; i > 0; i--) {
|
||||
stuff->drawable = draw->info[i].id;
|
||||
|
|
|
@ -623,13 +623,16 @@ ProcSecurityRevokeAuthorization(
|
|||
{
|
||||
REQUEST(xSecurityRevokeAuthorizationReq);
|
||||
SecurityAuthorizationPtr pAuth;
|
||||
int rc;
|
||||
|
||||
REQUEST_SIZE_MATCH(xSecurityRevokeAuthorizationReq);
|
||||
|
||||
pAuth = (SecurityAuthorizationPtr)SecurityLookupIDByType(client,
|
||||
stuff->authId, SecurityAuthorizationResType, DixDestroyAccess);
|
||||
if (!pAuth)
|
||||
return SecurityErrorBase + XSecurityBadAuthorization;
|
||||
rc = dixLookupResourceByType((pointer *)&pAuth, stuff->authId,
|
||||
SecurityAuthorizationResType, client,
|
||||
DixDestroyAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ?
|
||||
SecurityErrorBase + XSecurityBadAuthorization : rc;
|
||||
|
||||
FreeResource(stuff->authId, RT_NONE);
|
||||
return Success;
|
||||
|
|
75
Xext/shape.c
75
Xext/shape.c
|
@ -353,13 +353,14 @@ ProcPanoramiXShapeRectangles(
|
|||
{
|
||||
REQUEST(xShapeRectanglesReq);
|
||||
PanoramiXRes *win;
|
||||
int j, result = 0;
|
||||
int j, result;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE (xShapeRectanglesReq);
|
||||
|
||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->dest, XRT_WINDOW, DixWriteAccess)))
|
||||
return BadWindow;
|
||||
result = dixLookupResourceByType((pointer *)&win, stuff->dest, XRT_WINDOW,
|
||||
client, DixWriteAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadWindow : result;
|
||||
|
||||
FOR_NSCREENS(j) {
|
||||
stuff->dest = win->info[j].id;
|
||||
|
@ -451,18 +452,20 @@ ProcPanoramiXShapeMask(
|
|||
{
|
||||
REQUEST(xShapeMaskReq);
|
||||
PanoramiXRes *win, *pmap;
|
||||
int j, result = 0;
|
||||
int j, result;
|
||||
|
||||
REQUEST_SIZE_MATCH (xShapeMaskReq);
|
||||
|
||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->dest, XRT_WINDOW, DixWriteAccess)))
|
||||
return BadWindow;
|
||||
result = dixLookupResourceByType((pointer *)&win, stuff->dest, XRT_WINDOW,
|
||||
client, DixWriteAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadWindow : result;
|
||||
|
||||
if(stuff->src != None) {
|
||||
if(!(pmap = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->src, XRT_PIXMAP, DixReadAccess)))
|
||||
return BadPixmap;
|
||||
result = dixLookupResourceByType((pointer *)&pmap, stuff->src,
|
||||
XRT_PIXMAP, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadPixmap : result;
|
||||
} else
|
||||
pmap = NULL;
|
||||
|
||||
|
@ -579,17 +582,19 @@ ProcPanoramiXShapeCombine(
|
|||
{
|
||||
REQUEST(xShapeCombineReq);
|
||||
PanoramiXRes *win, *win2;
|
||||
int j, result = 0;
|
||||
int j, result;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE (xShapeCombineReq);
|
||||
|
||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->dest, XRT_WINDOW, DixWriteAccess)))
|
||||
return BadWindow;
|
||||
result = dixLookupResourceByType((pointer *)&win, stuff->dest, XRT_WINDOW,
|
||||
client, DixWriteAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadWindow : result;
|
||||
|
||||
if(!(win2 = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->src, XRT_WINDOW, DixReadAccess)))
|
||||
return BadWindow;
|
||||
result = dixLookupResourceByType((pointer *)&win2, stuff->src, XRT_WINDOW,
|
||||
client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadWindow : result;
|
||||
|
||||
FOR_NSCREENS(j) {
|
||||
stuff->dest = win->info[j].id;
|
||||
|
@ -651,13 +656,14 @@ ProcPanoramiXShapeOffset(
|
|||
{
|
||||
REQUEST(xShapeOffsetReq);
|
||||
PanoramiXRes *win;
|
||||
int j, result = 0;
|
||||
int j, result;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE (xShapeOffsetReq);
|
||||
|
||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->dest, XRT_WINDOW, DixWriteAccess)))
|
||||
return BadWindow;
|
||||
result = dixLookupResourceByType((pointer *)&win, stuff->dest, XRT_WINDOW,
|
||||
client, DixWriteAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadWindow : result;
|
||||
|
||||
FOR_NSCREENS(j) {
|
||||
stuff->dest = win->info[j].id;
|
||||
|
@ -740,11 +746,13 @@ ShapeFreeClient (pointer data, XID id)
|
|||
ShapeEventPtr pShapeEvent;
|
||||
WindowPtr pWin;
|
||||
ShapeEventPtr *pHead, pCur, pPrev;
|
||||
int rc;
|
||||
|
||||
pShapeEvent = (ShapeEventPtr) data;
|
||||
pWin = pShapeEvent->window;
|
||||
pHead = (ShapeEventPtr *) LookupIDByType(pWin->drawable.id, ShapeEventType);
|
||||
if (pHead) {
|
||||
rc = dixLookupResourceByType((pointer *)&pHead, pWin->drawable.id,
|
||||
ShapeEventType, serverClient, DixReadAccess);
|
||||
if (rc == Success) {
|
||||
pPrev = 0;
|
||||
for (pCur = *pHead; pCur && pCur != pShapeEvent; pCur=pCur->next)
|
||||
pPrev = pCur;
|
||||
|
@ -789,8 +797,11 @@ ProcShapeSelectInput (ClientPtr client)
|
|||
rc = dixLookupWindow(&pWin, stuff->window, client, DixReceiveAccess);
|
||||
if (rc != Success)
|
||||
return rc;
|
||||
pHead = (ShapeEventPtr *)SecurityLookupIDByType(client,
|
||||
pWin->drawable.id, ShapeEventType, DixWriteAccess);
|
||||
rc = dixLookupResourceByType((pointer *)&pHead, pWin->drawable.id,
|
||||
ShapeEventType, client, DixWriteAccess);
|
||||
if (rc != Success && rc != BadValue)
|
||||
return rc;
|
||||
|
||||
switch (stuff->enable) {
|
||||
case xTrue:
|
||||
if (pHead) {
|
||||
|
@ -879,9 +890,11 @@ SendShapeNotify (WindowPtr pWin, int which)
|
|||
BoxRec extents;
|
||||
RegionPtr region;
|
||||
BYTE shaped;
|
||||
int rc;
|
||||
|
||||
pHead = (ShapeEventPtr *) LookupIDByType(pWin->drawable.id, ShapeEventType);
|
||||
if (!pHead)
|
||||
rc = dixLookupResourceByType((pointer *)&pHead, pWin->drawable.id,
|
||||
ShapeEventType, serverClient, DixReadAccess);
|
||||
if (rc != Success)
|
||||
return;
|
||||
switch (which) {
|
||||
case ShapeBounding:
|
||||
|
@ -958,8 +971,10 @@ ProcShapeInputSelected (ClientPtr client)
|
|||
rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
|
||||
if (rc != Success)
|
||||
return rc;
|
||||
pHead = (ShapeEventPtr *) SecurityLookupIDByType(client,
|
||||
pWin->drawable.id, ShapeEventType, DixReadAccess);
|
||||
rc = dixLookupResourceByType((pointer *)&pHead, pWin->drawable.id,
|
||||
ShapeEventType, client, DixReadAccess);
|
||||
if (rc != Success && rc != BadValue)
|
||||
return rc;
|
||||
enabled = xFalse;
|
||||
if (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) \
|
||||
{ \
|
||||
shmdesc = (ShmDescPtr)LookupIDByType(shmseg, ShmSegType); \
|
||||
if (!shmdesc) \
|
||||
{ \
|
||||
client->errorValue = shmseg; \
|
||||
return BadShmSegCode; \
|
||||
} \
|
||||
int rc; \
|
||||
rc = dixLookupResourceByType((pointer *)&(shmdesc), shmseg, ShmSegType, \
|
||||
client, DixReadAccess); \
|
||||
if (rc != Success) \
|
||||
return (rc == BadValue) ? BadShmSegCode : rc; \
|
||||
}
|
||||
|
||||
#define VERIFY_SHMPTR(shmseg,offset,needwrite,shmdesc,client) \
|
||||
|
@ -513,20 +512,22 @@ doShmPutImage(DrawablePtr dst, GCPtr pGC,
|
|||
static int
|
||||
ProcPanoramiXShmPutImage(ClientPtr client)
|
||||
{
|
||||
int j, result = 0, orig_x, orig_y;
|
||||
int j, result, orig_x, orig_y;
|
||||
PanoramiXRes *draw, *gc;
|
||||
Bool sendEvent, isRoot;
|
||||
|
||||
REQUEST(xShmPutImageReq);
|
||||
REQUEST_SIZE_MATCH(xShmPutImageReq);
|
||||
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
||||
return BadDrawable;
|
||||
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||
XRC_DRAWABLE, client, DixWriteAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadDrawable : result;
|
||||
|
||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->gc, XRT_GC, DixReadAccess)))
|
||||
return BadGC;
|
||||
result = dixLookupResourceByType((pointer *)&gc, stuff->gc,
|
||||
XRT_GC, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadGC : result;
|
||||
|
||||
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
||||
|
||||
|
@ -570,9 +571,10 @@ ProcPanoramiXShmGetImage(ClientPtr client)
|
|||
return(BadValue);
|
||||
}
|
||||
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
||||
return BadDrawable;
|
||||
rc = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||
XRC_DRAWABLE, client, DixWriteAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? BadDrawable : rc;
|
||||
|
||||
if (draw->type == XRT_PIXMAP)
|
||||
return ProcShmGetImage(client);
|
||||
|
|
82
Xext/sync.c
82
Xext/sync.c
|
@ -1339,16 +1339,14 @@ ProcSyncSetCounter(ClientPtr client)
|
|||
REQUEST(xSyncSetCounterReq);
|
||||
SyncCounter *pCounter;
|
||||
CARD64 newvalue;
|
||||
int rc;
|
||||
|
||||
REQUEST_SIZE_MATCH(xSyncSetCounterReq);
|
||||
|
||||
pCounter = SecurityLookupIDByType(client, stuff->cid, RTCounter,
|
||||
DixWriteAccess);
|
||||
if (pCounter == NULL)
|
||||
{
|
||||
client->errorValue = stuff->cid;
|
||||
return SyncErrorBase + XSyncBadCounter;
|
||||
}
|
||||
rc = dixLookupResourceByType((pointer *)&pCounter, stuff->cid, RTCounter,
|
||||
client, DixWriteAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? SyncErrorBase + XSyncBadCounter : rc;
|
||||
|
||||
if (IsSystemCounter(pCounter))
|
||||
{
|
||||
|
@ -1371,16 +1369,14 @@ ProcSyncChangeCounter(ClientPtr client)
|
|||
SyncCounter *pCounter;
|
||||
CARD64 newvalue;
|
||||
Bool overflow;
|
||||
int rc;
|
||||
|
||||
REQUEST_SIZE_MATCH(xSyncChangeCounterReq);
|
||||
|
||||
pCounter = SecurityLookupIDByType(client, stuff->cid, RTCounter,
|
||||
DixWriteAccess);
|
||||
if (pCounter == NULL)
|
||||
{
|
||||
client->errorValue = stuff->cid;
|
||||
return SyncErrorBase + XSyncBadCounter;
|
||||
}
|
||||
rc = dixLookupResourceByType((pointer *)&pCounter, stuff->cid, RTCounter,
|
||||
client, DixWriteAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? SyncErrorBase + XSyncBadCounter : rc;
|
||||
|
||||
if (IsSystemCounter(pCounter))
|
||||
{
|
||||
|
@ -1408,16 +1404,15 @@ ProcSyncDestroyCounter(ClientPtr client)
|
|||
{
|
||||
REQUEST(xSyncDestroyCounterReq);
|
||||
SyncCounter *pCounter;
|
||||
int rc;
|
||||
|
||||
REQUEST_SIZE_MATCH(xSyncDestroyCounterReq);
|
||||
|
||||
pCounter = SecurityLookupIDByType(client, stuff->counter, RTCounter,
|
||||
DixDestroyAccess);
|
||||
if (pCounter == NULL)
|
||||
{
|
||||
client->errorValue = stuff->counter;
|
||||
return SyncErrorBase + XSyncBadCounter;
|
||||
}
|
||||
rc = dixLookupResourceByType((pointer *)&pCounter, stuff->counter, RTCounter,
|
||||
client, DixDestroyAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? SyncErrorBase + XSyncBadCounter : rc;
|
||||
|
||||
if (IsSystemCounter(pCounter))
|
||||
{
|
||||
client->errorValue = stuff->counter;
|
||||
|
@ -1552,16 +1547,14 @@ ProcSyncQueryCounter(ClientPtr client)
|
|||
REQUEST(xSyncQueryCounterReq);
|
||||
xSyncQueryCounterReply rep;
|
||||
SyncCounter *pCounter;
|
||||
int rc;
|
||||
|
||||
REQUEST_SIZE_MATCH(xSyncQueryCounterReq);
|
||||
|
||||
pCounter = SecurityLookupIDByType(client, stuff->counter, RTCounter,
|
||||
DixReadAccess);
|
||||
if (pCounter == NULL)
|
||||
{
|
||||
client->errorValue = stuff->counter;
|
||||
return SyncErrorBase + XSyncBadCounter;
|
||||
}
|
||||
rc = dixLookupResourceByType((pointer *)&pCounter, stuff->counter,
|
||||
RTCounter, client, DixReadAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? SyncErrorBase + XSyncBadCounter : rc;
|
||||
|
||||
rep.type = X_Reply;
|
||||
rep.length = 0;
|
||||
|
@ -1682,12 +1675,10 @@ ProcSyncChangeAlarm(ClientPtr client)
|
|||
|
||||
REQUEST_AT_LEAST_SIZE(xSyncChangeAlarmReq);
|
||||
|
||||
if (!(pAlarm = SecurityLookupIDByType(client, stuff->alarm, RTAlarm,
|
||||
DixWriteAccess)))
|
||||
{
|
||||
client->errorValue = stuff->alarm;
|
||||
return SyncErrorBase + XSyncBadAlarm;
|
||||
}
|
||||
status = dixLookupResourceByType((pointer *)&pAlarm, stuff->alarm, RTAlarm,
|
||||
client, DixWriteAccess);
|
||||
if (status != Success)
|
||||
return (status == BadValue) ? SyncErrorBase + XSyncBadAlarm : status;
|
||||
|
||||
vmask = stuff->valueMask;
|
||||
len = client->req_len - (sizeof(xSyncChangeAlarmReq) >> 2);
|
||||
|
@ -1719,16 +1710,14 @@ ProcSyncQueryAlarm(ClientPtr client)
|
|||
SyncAlarm *pAlarm;
|
||||
xSyncQueryAlarmReply rep;
|
||||
SyncTrigger *pTrigger;
|
||||
int rc;
|
||||
|
||||
REQUEST_SIZE_MATCH(xSyncQueryAlarmReq);
|
||||
|
||||
pAlarm = SecurityLookupIDByType(client, stuff->alarm, RTAlarm,
|
||||
DixReadAccess);
|
||||
if (!pAlarm)
|
||||
{
|
||||
client->errorValue = stuff->alarm;
|
||||
return SyncErrorBase + XSyncBadAlarm;
|
||||
}
|
||||
rc = dixLookupResourceByType((pointer *)&pAlarm, stuff->alarm, RTAlarm,
|
||||
client, DixReadAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? SyncErrorBase + XSyncBadAlarm : rc;
|
||||
|
||||
rep.type = X_Reply;
|
||||
rep.length = (sizeof(xSyncQueryAlarmReply) - sizeof(xGenericReply)) >> 2;
|
||||
|
@ -1776,16 +1765,15 @@ ProcSyncQueryAlarm(ClientPtr client)
|
|||
static int
|
||||
ProcSyncDestroyAlarm(ClientPtr client)
|
||||
{
|
||||
SyncAlarm *pAlarm;
|
||||
int rc;
|
||||
REQUEST(xSyncDestroyAlarmReq);
|
||||
|
||||
REQUEST_SIZE_MATCH(xSyncDestroyAlarmReq);
|
||||
|
||||
if (!(SecurityLookupIDByType(client, stuff->alarm, RTAlarm,
|
||||
DixDestroyAccess)))
|
||||
{
|
||||
client->errorValue = stuff->alarm;
|
||||
return SyncErrorBase + XSyncBadAlarm;
|
||||
}
|
||||
rc = dixLookupResourceByType((pointer *)&pAlarm, stuff->alarm, RTAlarm,
|
||||
client, DixDestroyAccess);
|
||||
return (rc == BadValue) ? SyncErrorBase + XSyncBadAlarm : rc;
|
||||
|
||||
FreeResource(stuff->alarm, RT_NONE);
|
||||
return client->noClientException;
|
||||
|
|
|
@ -427,15 +427,15 @@ ProcXF86BigfontQueryFont(
|
|||
}
|
||||
#endif
|
||||
client->errorValue = stuff->id; /* EITHER font or gc */
|
||||
pFont = (FontPtr)SecurityLookupIDByType(client, stuff->id, RT_FONT,
|
||||
DixGetAttrAccess);
|
||||
dixLookupResourceByType((pointer *)&pFont, stuff->id, RT_FONT,
|
||||
client, DixGetAttrAccess);
|
||||
if (!pFont) {
|
||||
GC *pGC = (GC *) SecurityLookupIDByType(client, stuff->id, RT_GC,
|
||||
DixGetAttrAccess);
|
||||
if (!pGC) {
|
||||
client->errorValue = stuff->id;
|
||||
GC *pGC;
|
||||
dixLookupResourceByType((pointer *)&pGC, stuff->id, RT_GC,
|
||||
client, DixGetAttrAccess);
|
||||
if (!pGC)
|
||||
return BadFont; /* procotol spec says only error is BadFont */
|
||||
}
|
||||
|
||||
pFont = pGC->font;
|
||||
}
|
||||
|
||||
|
|
|
@ -1346,15 +1346,6 @@ ProcSELinuxSetCreateContext(ClientPtr client, unsigned offset)
|
|||
goto out;
|
||||
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);
|
||||
pSid = (security_id_t *)(ptr + offset);
|
||||
|
|
234
Xext/xvdisp.c
234
Xext/xvdisp.c
|
@ -479,11 +479,7 @@ ProcXvQueryEncodings(ClientPtr client)
|
|||
REQUEST(xvQueryEncodingsReq);
|
||||
REQUEST_SIZE_MATCH(xvQueryEncodingsReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -540,12 +536,7 @@ ProcXvPutVideo(ClientPtr client)
|
|||
REQUEST_SIZE_MATCH(xvPutVideoReq);
|
||||
|
||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -583,12 +574,7 @@ ProcXvPutStill(ClientPtr client)
|
|||
REQUEST_SIZE_MATCH(xvPutStillReq);
|
||||
|
||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -626,12 +612,7 @@ ProcXvGetVideo(ClientPtr client)
|
|||
REQUEST_SIZE_MATCH(xvGetVideoReq);
|
||||
|
||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixReadAccess);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -669,12 +650,7 @@ ProcXvGetStill(ClientPtr client)
|
|||
REQUEST_SIZE_MATCH(xvGetStillReq);
|
||||
|
||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixReadAccess);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -723,11 +699,7 @@ ProcXvSelectPortNotify(ClientPtr client)
|
|||
REQUEST(xvSelectPortNotifyReq);
|
||||
REQUEST_SIZE_MATCH(xvSelectPortNotifyReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -747,11 +719,7 @@ ProcXvGrabPort(ClientPtr client)
|
|||
REQUEST(xvGrabPortReq);
|
||||
REQUEST_SIZE_MATCH(xvGrabPortReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -784,11 +752,7 @@ ProcXvUngrabPort(ClientPtr client)
|
|||
REQUEST(xvGrabPortReq);
|
||||
REQUEST_SIZE_MATCH(xvGrabPortReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -808,11 +772,7 @@ ProcXvStopVideo(ClientPtr client)
|
|||
REQUEST(xvStopVideoReq);
|
||||
REQUEST_SIZE_MATCH(xvStopVideoReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -835,11 +795,7 @@ ProcXvSetPortAttribute(ClientPtr client)
|
|||
REQUEST(xvSetPortAttributeReq);
|
||||
REQUEST_SIZE_MATCH(xvSetPortAttributeReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixSetAttrAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -873,11 +829,7 @@ ProcXvGetPortAttribute(ClientPtr client)
|
|||
REQUEST(xvGetPortAttributeReq);
|
||||
REQUEST_SIZE_MATCH(xvGetPortAttributeReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixGetAttrAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -918,11 +870,7 @@ ProcXvQueryBestSize(ClientPtr client)
|
|||
REQUEST(xvQueryBestSizeReq);
|
||||
REQUEST_SIZE_MATCH(xvQueryBestSizeReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -959,11 +907,7 @@ ProcXvQueryPortAttributes(ClientPtr client)
|
|||
REQUEST(xvQueryPortAttributesReq);
|
||||
REQUEST_SIZE_MATCH(xvQueryPortAttributesReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixGetAttrAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -1019,12 +963,7 @@ ProcXvPutImage(ClientPtr client)
|
|||
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
|
||||
|
||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -1105,12 +1044,7 @@ ProcXvShmPutImage(ClientPtr client)
|
|||
REQUEST_SIZE_MATCH(xvShmPutImageReq);
|
||||
|
||||
VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if ((status = _AllocatePort(stuff->port, pPort)) != Success)
|
||||
{
|
||||
|
@ -1141,11 +1075,10 @@ ProcXvShmPutImage(ClientPtr client)
|
|||
if(!pImage)
|
||||
return BadMatch;
|
||||
|
||||
if(!(shmdesc = (ShmDescPtr)LookupIDByType(stuff->shmseg, ShmSegType)))
|
||||
{
|
||||
client->errorValue = stuff->shmseg;
|
||||
return BadShmSegCode;
|
||||
}
|
||||
status = dixLookupResourceByType((pointer *)&shmdesc, stuff->shmseg,
|
||||
ShmSegType, serverClient, DixReadAccess);
|
||||
if (status != Success)
|
||||
return (status == BadValue) ? BadShmSegCode : status;
|
||||
|
||||
width = stuff->width;
|
||||
height = stuff->height;
|
||||
|
@ -1206,11 +1139,7 @@ ProcXvQueryImageAttributes(ClientPtr client)
|
|||
|
||||
REQUEST_SIZE_MATCH(xvQueryImageAttributesReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
for(i = 0; i < pPort->pAdaptor->nImages; i++) {
|
||||
if(pPort->pAdaptor->pImages[i].id == stuff->id) {
|
||||
|
@ -1269,11 +1198,7 @@ ProcXvListImageFormats(ClientPtr client)
|
|||
|
||||
REQUEST_SIZE_MATCH(xvListImageFormatsReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client) ))
|
||||
{
|
||||
client->errorValue = stuff->port;
|
||||
return (_XvBadPort);
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
rep.type = X_Reply;
|
||||
rep.sequenceNumber = client->sequence;
|
||||
|
@ -1679,18 +1604,20 @@ SProcXvDispatch(ClientPtr client)
|
|||
static int
|
||||
XineramaXvStopVideo(ClientPtr client)
|
||||
{
|
||||
int result = Success, i;
|
||||
int result, i;
|
||||
PanoramiXRes *draw, *port;
|
||||
REQUEST(xvStopVideoReq);
|
||||
REQUEST_SIZE_MATCH(xvStopVideoReq);
|
||||
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
||||
return BadDrawable;
|
||||
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||
XRC_DRAWABLE, client, DixWriteAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadDrawable : result;
|
||||
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
||||
return _XvBadPort;
|
||||
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||
XvXRTPort, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? _XvBadPort : result;
|
||||
|
||||
FOR_NSCREENS_BACKWARD(i) {
|
||||
if(port->info[i].id) {
|
||||
|
@ -1708,13 +1635,14 @@ XineramaXvSetPortAttribute(ClientPtr client)
|
|||
{
|
||||
REQUEST(xvSetPortAttributeReq);
|
||||
PanoramiXRes *port;
|
||||
int result = Success, i;
|
||||
int result, i;
|
||||
|
||||
REQUEST_SIZE_MATCH(xvSetPortAttributeReq);
|
||||
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
||||
return _XvBadPort;
|
||||
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||
XvXRTPort, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? _XvBadPort : result;
|
||||
|
||||
FOR_NSCREENS_BACKWARD(i) {
|
||||
if(port->info[i].id) {
|
||||
|
@ -1733,21 +1661,24 @@ XineramaXvShmPutImage(ClientPtr client)
|
|||
PanoramiXRes *draw, *gc, *port;
|
||||
Bool send_event = stuff->send_event;
|
||||
Bool isRoot;
|
||||
int result = Success, i, x, y;
|
||||
int result, i, x, y;
|
||||
|
||||
REQUEST_SIZE_MATCH(xvShmPutImageReq);
|
||||
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
||||
return BadDrawable;
|
||||
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||
XRC_DRAWABLE, client, DixWriteAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadDrawable : result;
|
||||
|
||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->gc, XRT_GC, DixReadAccess)))
|
||||
return BadGC;
|
||||
result = dixLookupResourceByType((pointer *)&gc, stuff->gc,
|
||||
XRT_GC, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadGC : result;
|
||||
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
||||
return _XvBadPort;
|
||||
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||
XvXRTPort, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? _XvBadPort : result;
|
||||
|
||||
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
||||
|
||||
|
@ -1782,21 +1713,24 @@ XineramaXvPutImage(ClientPtr client)
|
|||
REQUEST(xvPutImageReq);
|
||||
PanoramiXRes *draw, *gc, *port;
|
||||
Bool isRoot;
|
||||
int result = Success, i, x, y;
|
||||
int result, i, x, y;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
|
||||
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
||||
return BadDrawable;
|
||||
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||
XRC_DRAWABLE, client, DixWriteAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadDrawable : result;
|
||||
|
||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->gc, XRT_GC, DixReadAccess)))
|
||||
return BadGC;
|
||||
result = dixLookupResourceByType((pointer *)&gc, stuff->gc,
|
||||
XRT_GC, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadGC : result;
|
||||
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
||||
return _XvBadPort;
|
||||
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||
XvXRTPort, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? _XvBadPort : result;
|
||||
|
||||
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
||||
|
||||
|
@ -1827,21 +1761,24 @@ XineramaXvPutVideo(ClientPtr client)
|
|||
REQUEST(xvPutImageReq);
|
||||
PanoramiXRes *draw, *gc, *port;
|
||||
Bool isRoot;
|
||||
int result = Success, i, x, y;
|
||||
int result, i, x, y;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE(xvPutVideoReq);
|
||||
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
||||
return BadDrawable;
|
||||
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||
XRC_DRAWABLE, client, DixWriteAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadDrawable : result;
|
||||
|
||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->gc, XRT_GC, DixReadAccess)))
|
||||
return BadGC;
|
||||
result = dixLookupResourceByType((pointer *)&gc, stuff->gc,
|
||||
XRT_GC, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadGC : result;
|
||||
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
||||
return _XvBadPort;
|
||||
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||
XvXRTPort, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? _XvBadPort : result;
|
||||
|
||||
isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root;
|
||||
|
||||
|
@ -1872,21 +1809,24 @@ XineramaXvPutStill(ClientPtr client)
|
|||
REQUEST(xvPutImageReq);
|
||||
PanoramiXRes *draw, *gc, *port;
|
||||
Bool isRoot;
|
||||
int result = Success, i, x, y;
|
||||
int result, i, x, y;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
|
||||
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess)))
|
||||
return BadDrawable;
|
||||
result = dixLookupResourceByClass((pointer *)&draw, stuff->drawable,
|
||||
XRC_DRAWABLE, client, DixWriteAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadDrawable : result;
|
||||
|
||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->gc, XRT_GC, DixReadAccess)))
|
||||
return BadGC;
|
||||
result = dixLookupResourceByType((pointer *)&gc, stuff->gc,
|
||||
XRT_GC, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? BadGC : result;
|
||||
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, DixReadAccess)))
|
||||
return _XvBadPort;
|
||||
result = dixLookupResourceByType((pointer *)&port, stuff->port,
|
||||
XvXRTPort, client, DixReadAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? _XvBadPort : result;
|
||||
|
||||
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;
|
||||
} XvPortRec, *XvPortPtr;
|
||||
|
||||
#define LOOKUP_PORT(_id, client)\
|
||||
((XvPortPtr)LookupIDByType(_id, XvRTPort))
|
||||
|
||||
#define LOOKUP_ENCODING(_id, client)\
|
||||
((XvEncodingPtr)LookupIDByType(_id, XvRTEncoding))
|
||||
|
||||
#define LOOKUP_VIDEONOTIFY_LIST(_id, client)\
|
||||
((XvVideoNotifyPtr)LookupIDByType(_id, XvRTVideoNotifyList))
|
||||
|
||||
#define LOOKUP_PORTNOTIFY_LIST(_id, client)\
|
||||
((XvPortNotifyPtr)LookupIDByType(_id, XvRTPortNotifyList))
|
||||
#define VALIDATE_XV_PORT(portID, pPort, mode)\
|
||||
{\
|
||||
int rc = dixLookupResourceByType((pointer *)&(pPort), portID,\
|
||||
XvRTPort, client, mode);\
|
||||
if (rc != Success)\
|
||||
return (rc == BadValue) ? _XvBadPort : rc;\
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
int version, revision;
|
||||
|
|
|
@ -523,7 +523,8 @@ XvdiSendVideoNotify(XvPortPtr pPort, DrawablePtr pDraw, int reason)
|
|||
xvEvent event;
|
||||
XvVideoNotifyPtr pn;
|
||||
|
||||
pn = (XvVideoNotifyPtr)LookupIDByType(pDraw->id, XvRTVideoNotifyList);
|
||||
dixLookupResourceByType((pointer *)&pn, pDraw->id, XvRTVideoNotifyList,
|
||||
serverClient, DixReadAccess);
|
||||
|
||||
while (pn)
|
||||
{
|
||||
|
@ -905,10 +906,14 @@ XvdiSelectVideoNotify(
|
|||
BOOL onoff
|
||||
){
|
||||
XvVideoNotifyPtr pn,tpn,fpn;
|
||||
int rc;
|
||||
|
||||
/* 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 */
|
||||
|
||||
|
|
57
Xext/xvmc.c
57
Xext/xvmc.c
|
@ -136,10 +136,7 @@ ProcXvMCListSurfaceTypes(ClientPtr client)
|
|||
REQUEST(xvmcListSurfaceTypesReq);
|
||||
REQUEST_SIZE_MATCH(xvmcListSurfaceTypesReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client))) {
|
||||
client->errorValue = stuff->port;
|
||||
return _XvBadPort;
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
if(XvMCScreenKey) { /* any adaptors at all */
|
||||
ScreenPtr pScreen = pPort->pAdaptor->pScreen;
|
||||
|
@ -192,10 +189,7 @@ ProcXvMCCreateContext(ClientPtr client)
|
|||
REQUEST(xvmcCreateContextReq);
|
||||
REQUEST_SIZE_MATCH(xvmcCreateContextReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client))) {
|
||||
client->errorValue = stuff->port;
|
||||
return _XvBadPort;
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
pScreen = pPort->pAdaptor->pScreen;
|
||||
|
||||
|
@ -273,11 +267,15 @@ ProcXvMCCreateContext(ClientPtr client)
|
|||
static int
|
||||
ProcXvMCDestroyContext(ClientPtr client)
|
||||
{
|
||||
pointer val;
|
||||
int rc;
|
||||
REQUEST(xvmcDestroyContextReq);
|
||||
REQUEST_SIZE_MATCH(xvmcDestroyContextReq);
|
||||
|
||||
if(!LookupIDByType(stuff->context_id, XvMCRTContext))
|
||||
return (XvMCBadContext + XvMCErrorBase);
|
||||
rc = dixLookupResourceByType(&val, stuff->context_id, XvMCRTContext,
|
||||
client, DixDestroyAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? XvMCBadContext + XvMCErrorBase : rc;
|
||||
|
||||
FreeResource(stuff->context_id, RT_NONE);
|
||||
|
||||
|
@ -297,8 +295,10 @@ ProcXvMCCreateSurface(ClientPtr client)
|
|||
REQUEST(xvmcCreateSurfaceReq);
|
||||
REQUEST_SIZE_MATCH(xvmcCreateSurfaceReq);
|
||||
|
||||
if(!(pContext = LookupIDByType(stuff->context_id, XvMCRTContext)))
|
||||
return (XvMCBadContext + XvMCErrorBase);
|
||||
result = dixLookupResourceByType((pointer *)&pContext, stuff->context_id,
|
||||
XvMCRTContext, client, DixUseAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? XvMCBadContext + XvMCErrorBase : result;
|
||||
|
||||
pScreenPriv = XVMC_GET_PRIVATE(pContext->pScreen);
|
||||
|
||||
|
@ -337,11 +337,15 @@ ProcXvMCCreateSurface(ClientPtr client)
|
|||
static int
|
||||
ProcXvMCDestroySurface(ClientPtr client)
|
||||
{
|
||||
pointer val;
|
||||
int rc;
|
||||
REQUEST(xvmcDestroySurfaceReq);
|
||||
REQUEST_SIZE_MATCH(xvmcDestroySurfaceReq);
|
||||
|
||||
if(!LookupIDByType(stuff->surface_id, XvMCRTSurface))
|
||||
return (XvMCBadSurface + XvMCErrorBase);
|
||||
rc = dixLookupResourceByType(&val, stuff->surface_id, XvMCRTSurface,
|
||||
client, DixDestroyAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? XvMCBadSurface + XvMCErrorBase : rc;
|
||||
|
||||
FreeResource(stuff->surface_id, RT_NONE);
|
||||
|
||||
|
@ -363,8 +367,10 @@ ProcXvMCCreateSubpicture(ClientPtr client)
|
|||
REQUEST(xvmcCreateSubpictureReq);
|
||||
REQUEST_SIZE_MATCH(xvmcCreateSubpictureReq);
|
||||
|
||||
if(!(pContext = LookupIDByType(stuff->context_id, XvMCRTContext)))
|
||||
return (XvMCBadContext + XvMCErrorBase);
|
||||
result = dixLookupResourceByType((pointer *)&pContext, stuff->context_id,
|
||||
XvMCRTContext, client, DixUseAccess);
|
||||
if (result != Success)
|
||||
return (result == BadValue) ? XvMCBadContext + XvMCErrorBase : result;
|
||||
|
||||
pScreenPriv = XVMC_GET_PRIVATE(pContext->pScreen);
|
||||
|
||||
|
@ -448,11 +454,15 @@ ProcXvMCCreateSubpicture(ClientPtr client)
|
|||
static int
|
||||
ProcXvMCDestroySubpicture(ClientPtr client)
|
||||
{
|
||||
pointer val;
|
||||
int rc;
|
||||
REQUEST(xvmcDestroySubpictureReq);
|
||||
REQUEST_SIZE_MATCH(xvmcDestroySubpictureReq);
|
||||
|
||||
if(!LookupIDByType(stuff->subpicture_id, XvMCRTSubpicture))
|
||||
return (XvMCBadSubpicture + XvMCErrorBase);
|
||||
rc = dixLookupResourceByType(&val, stuff->subpicture_id, XvMCRTSubpicture,
|
||||
client, DixDestroyAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? XvMCBadSubpicture + XvMCErrorBase : rc;
|
||||
|
||||
FreeResource(stuff->subpicture_id, RT_NONE);
|
||||
|
||||
|
@ -475,10 +485,7 @@ ProcXvMCListSubpictureTypes(ClientPtr client)
|
|||
REQUEST(xvmcListSubpictureTypesReq);
|
||||
REQUEST_SIZE_MATCH(xvmcListSubpictureTypesReq);
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client))) {
|
||||
client->errorValue = stuff->port;
|
||||
return _XvBadPort;
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
pScreen = pPort->pAdaptor->pScreen;
|
||||
|
||||
|
@ -571,11 +578,7 @@ ProcXvMCGetDRInfo(ClientPtr client)
|
|||
REQUEST(xvmcGetDRInfoReq);
|
||||
REQUEST_SIZE_MATCH(xvmcGetDRInfoReq);
|
||||
|
||||
|
||||
if(!(pPort = LOOKUP_PORT(stuff->port, client))) {
|
||||
client->errorValue = stuff->port;
|
||||
return _XvBadPort;
|
||||
}
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
pScreen = pPort->pAdaptor->pScreen;
|
||||
pScreenPriv = XVMC_GET_PRIVATE(pScreen);
|
||||
|
|
|
@ -94,10 +94,10 @@ int ProcXIChangeCursor(ClientPtr client)
|
|||
}
|
||||
else
|
||||
{
|
||||
rc = dixLookupResourceByType((pointer*)&pCursor, stuff->cursor,
|
||||
rc = dixLookupResourceByType((pointer *)&pCursor, stuff->cursor,
|
||||
RT_CURSOR, client, DixReadAccess);
|
||||
if (rc != Success)
|
||||
return rc;
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? BadCursor : rc;
|
||||
}
|
||||
|
||||
ChangeWindowDeviceCursor(pWin, pDev, pCursor);
|
||||
|
|
|
@ -2,6 +2,10 @@ noinst_LTLIBRARIES = libcomposite.la
|
|||
|
||||
AM_CFLAGS = $(DIX_CFLAGS)
|
||||
|
||||
if XORG
|
||||
sdk_HEADERS = compositeext.h
|
||||
endif
|
||||
|
||||
libcomposite_la_SOURCES = \
|
||||
compalloc.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
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Sun Microsystems not be used in
|
||||
* advertising or publicity pertaining to distribution of the software without
|
||||
* specific, written prior permission. Sun Microsystems makes no
|
||||
* representations about the suitability of this software for any purpose. It
|
||||
* is provided "as is" without express or implied warranty.
|
||||
* 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.
|
||||
*
|
||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
* 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.
|
||||
*
|
||||
* 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
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Sun Microsystems not be used in
|
||||
* advertising or publicity pertaining to distribution of the software without
|
||||
* specific, written prior permission. Sun Microsystems makes no
|
||||
* representations about the suitability of this software for any purpose. It
|
||||
* is provided "as is" without express or implied warranty.
|
||||
* 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.
|
||||
*
|
||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
* 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.
|
||||
*
|
||||
* 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
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Sun Microsystems not be used in
|
||||
* advertising or publicity pertaining to distribution of the software without
|
||||
* specific, written prior permission. Sun Microsystems makes no
|
||||
* representations about the suitability of this software for any purpose. It
|
||||
* is provided "as is" without express or implied warranty.
|
||||
* 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.
|
||||
*
|
||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
* 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.
|
||||
*
|
||||
* Copyright © 2003 Keith Packard
|
||||
*
|
||||
|
@ -45,6 +52,7 @@
|
|||
#endif
|
||||
|
||||
#include "compint.h"
|
||||
#include "compositeext.h"
|
||||
|
||||
static int 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
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Sun Microsystems not be used in
|
||||
* advertising or publicity pertaining to distribution of the software without
|
||||
* specific, written prior permission. Sun Microsystems makes no
|
||||
* representations about the suitability of this software for any purpose. It
|
||||
* is provided "as is" without express or implied warranty.
|
||||
* 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.
|
||||
*
|
||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
* 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.
|
||||
*
|
||||
* Copyright © 2003 Keith Packard
|
||||
*
|
||||
|
@ -224,10 +231,6 @@ CompositeExtensionInit (void);
|
|||
* compinit.c
|
||||
*/
|
||||
|
||||
Bool
|
||||
CompositeRegisterAlternateVisuals (ScreenPtr pScreen,
|
||||
VisualID *vids, int nVisuals);
|
||||
|
||||
Bool
|
||||
compScreenInit (ScreenPtr pScreen);
|
||||
|
||||
|
|
38
composite/compositeext.h
Normal file
38
composite/compositeext.h
Normal file
|
@ -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
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Sun Microsystems not be used in
|
||||
* advertising or publicity pertaining to distribution of the software without
|
||||
* specific, written prior permission. Sun Microsystems makes no
|
||||
* representations about the suitability of this software for any purpose. It
|
||||
* is provided "as is" without express or implied warranty.
|
||||
* 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.
|
||||
*
|
||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
* 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.
|
||||
*
|
||||
* 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
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
* the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Sun Microsystems not be used in
|
||||
* advertising or publicity pertaining to distribution of the software without
|
||||
* specific, written prior permission. Sun Microsystems makes no
|
||||
* representations about the suitability of this software for any purpose. It
|
||||
* is provided "as is" without express or implied warranty.
|
||||
* 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.
|
||||
*
|
||||
* SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
* EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
* 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.
|
||||
*
|
||||
* 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)) {
|
||||
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;
|
||||
}
|
||||
if (!libhal_device_property_watch_all(info->hal_ctx, &error)) {
|
||||
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;
|
||||
}
|
||||
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:
|
||||
if (!libhal_ctx_shutdown(info->hal_ctx, &error))
|
||||
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:
|
||||
libhal_ctx_free(info->hal_ctx);
|
||||
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_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.
|
||||
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])
|
||||
|
||||
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])
|
||||
|
||||
dnl APM header
|
||||
|
@ -440,8 +440,8 @@ AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug],
|
|||
[Enable debugging (default: disabled)]),
|
||||
[DEBUGGING=$enableval], [DEBUGGING=no])
|
||||
AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
|
||||
[Enable unit-tests (default: enabled)]),
|
||||
[UNITTESTS=$enableval], [UNITTESTS=yes])
|
||||
[Enable unit-tests (default: auto)]),
|
||||
[UNITTESTS=$enableval], [UNITTESTS=auto])
|
||||
AC_ARG_WITH(int10, AS_HELP_STRING([--with-int10=BACKEND], [int10 backend: vm86, x86emu or stub]),
|
||||
[INT10="$withval"],
|
||||
[INT10="$DEFAULT_INT10"])
|
||||
|
@ -889,7 +889,7 @@ if test "x$DRI" = xyes; then
|
|||
AC_SUBST(DRIPROTO_CFLAGS)
|
||||
fi
|
||||
|
||||
PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= 1.99.3],
|
||||
PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= 2.1],
|
||||
[HAVE_DRI2PROTO=yes], [HAVE_DRI2PROTO=no])
|
||||
case "$DRI2,$HAVE_DRI2PROTO" in
|
||||
yes,no)
|
||||
|
@ -1144,6 +1144,9 @@ if test "x$DEBUGGING" = xyes; then
|
|||
fi
|
||||
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
|
||||
AC_DEFINE(UNITTESTS, 1, [Enable unit tests])
|
||||
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.16])
|
||||
|
@ -1843,7 +1846,7 @@ if test "$KDRIVE" = yes; then
|
|||
;;
|
||||
esac
|
||||
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 $KDRIVE_OS_LIB $OS_LIB"
|
||||
KDRIVE_LIBS="$TSLIB_LIBS $KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS"
|
||||
|
|
|
@ -58,11 +58,10 @@ typedef struct _DamageExt {
|
|||
} DamageExtRec, *DamageExtPtr;
|
||||
|
||||
#define VERIFY_DAMAGEEXT(pDamageExt, rid, client, mode) { \
|
||||
pDamageExt = SecurityLookupIDByType (client, rid, DamageExtType, mode); \
|
||||
if (!pDamageExt) { \
|
||||
client->errorValue = rid; \
|
||||
return DamageErrorBase + BadDamage; \
|
||||
} \
|
||||
int rc = dixLookupResourceByType((pointer *)&(pDamageExt), rid, \
|
||||
DamageExtType, client, mode); \
|
||||
if (rc != Success) \
|
||||
return (rc == BadValue) ? DamageErrorBase + BadDamage : rc; \
|
||||
}
|
||||
|
||||
void
|
||||
|
|
33
dbe/dbe.c
33
dbe/dbe.c
|
@ -411,20 +411,23 @@ ProcDbeDeallocateBackBufferName(ClientPtr client)
|
|||
{
|
||||
REQUEST(xDbeDeallocateBackBufferNameReq);
|
||||
DbeWindowPrivPtr pDbeWindowPriv;
|
||||
int i;
|
||||
int rc, i;
|
||||
pointer val;
|
||||
|
||||
|
||||
REQUEST_SIZE_MATCH(xDbeDeallocateBackBufferNameReq);
|
||||
|
||||
/* Buffer name must be valid */
|
||||
if (!(pDbeWindowPriv = (DbeWindowPrivPtr)SecurityLookupIDByType(client,
|
||||
stuff->buffer, dbeWindowPrivResType, DixDestroyAccess)) ||
|
||||
!(SecurityLookupIDByType(client, stuff->buffer, dbeDrawableResType,
|
||||
DixDestroyAccess)))
|
||||
{
|
||||
client->errorValue = stuff->buffer;
|
||||
return(dbeErrorBase + DbeBadBuffer);
|
||||
}
|
||||
rc = dixLookupResourceByType((pointer *)&pDbeWindowPriv, stuff->buffer,
|
||||
dbeWindowPrivResType, client,
|
||||
DixDestroyAccess);
|
||||
if (rc != Success)
|
||||
return (rc == BadValue) ? dbeErrorBase + DbeBadBuffer : rc;
|
||||
|
||||
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.
|
||||
* This is paranoid code since we already looked up the ID by type
|
||||
|
@ -833,19 +836,21 @@ ProcDbeGetBackBufferAttributes(ClientPtr client)
|
|||
REQUEST(xDbeGetBackBufferAttributesReq);
|
||||
xDbeGetBackBufferAttributesReply rep;
|
||||
DbeWindowPrivPtr pDbeWindowPriv;
|
||||
int n;
|
||||
int rc, n;
|
||||
|
||||
|
||||
REQUEST_SIZE_MATCH(xDbeGetBackBufferAttributesReq);
|
||||
|
||||
if (!(pDbeWindowPriv = (DbeWindowPrivPtr)SecurityLookupIDByType(client,
|
||||
stuff->buffer, dbeWindowPrivResType, DixGetAttrAccess)))
|
||||
rc = dixLookupResourceByType((pointer *)&pDbeWindowPriv, stuff->buffer,
|
||||
dbeWindowPrivResType, client,
|
||||
DixGetAttrAccess);
|
||||
if (rc == Success)
|
||||
{
|
||||
rep.attributes = None;
|
||||
rep.attributes = pDbeWindowPriv->pWindow->drawable.id;
|
||||
}
|
||||
else
|
||||
{
|
||||
rep.attributes = pDbeWindowPriv->pWindow->drawable.id;
|
||||
rep.attributes = None;
|
||||
}
|
||||
|
||||
rep.type = X_Reply;
|
||||
|
|
|
@ -893,9 +893,9 @@ AllocColor (ColormapPtr pmap,
|
|||
if (pmap->mid != pmap->pScreen->defColormap &&
|
||||
pmap->pVisual->vid == pmap->pScreen->rootVisual)
|
||||
{
|
||||
ColormapPtr prootmap = (ColormapPtr)
|
||||
SecurityLookupIDByType (clients[client], pmap->pScreen->defColormap,
|
||||
RT_COLORMAP, DixReadAccess);
|
||||
ColormapPtr prootmap;
|
||||
dixLookupResourceByType((pointer *)&prootmap, pmap->pScreen->defColormap,
|
||||
RT_COLORMAP, clients[client], DixReadAccess);
|
||||
|
||||
if (pmap->class == prootmap->class)
|
||||
FindColorInRootCmap (prootmap, prootmap->red, entries, &rgb,
|
||||
|
@ -910,9 +910,9 @@ AllocColor (ColormapPtr pmap,
|
|||
if (pmap->mid != pmap->pScreen->defColormap &&
|
||||
pmap->pVisual->vid == pmap->pScreen->rootVisual)
|
||||
{
|
||||
ColormapPtr prootmap = (ColormapPtr)
|
||||
SecurityLookupIDByType (clients[client], pmap->pScreen->defColormap,
|
||||
RT_COLORMAP, DixReadAccess);
|
||||
ColormapPtr prootmap;
|
||||
dixLookupResourceByType((pointer *)&prootmap, pmap->pScreen->defColormap,
|
||||
RT_COLORMAP, clients[client], DixReadAccess);
|
||||
|
||||
if (pmap->class == prootmap->class)
|
||||
{
|
||||
|
@ -1550,12 +1550,14 @@ FreePixels(ColormapPtr pmap, int client)
|
|||
int
|
||||
FreeClientPixels (pointer value, XID fakeid)
|
||||
{
|
||||
ColormapPtr pmap;
|
||||
colorResource *pcr = (colorResource *)value;
|
||||
pointer pmap;
|
||||
colorResource *pcr = value;
|
||||
int rc;
|
||||
|
||||
pmap = (ColormapPtr) LookupIDByType(pcr->mid, RT_COLORMAP);
|
||||
if (pmap)
|
||||
FreePixels(pmap, pcr->client);
|
||||
rc = dixLookupResourceByType(&pmap, pcr->mid, RT_COLORMAP, serverClient,
|
||||
DixRemoveAccess);
|
||||
if (rc == Success)
|
||||
FreePixels((ColormapPtr)pmap, pcr->client);
|
||||
xfree(pcr);
|
||||
return Success;
|
||||
}
|
||||
|
|
|
@ -545,8 +545,9 @@ CreateRootCursor(char *unused1, unsigned int unused2)
|
|||
if (err != Success)
|
||||
return NullCursor;
|
||||
|
||||
cursorfont = (FontPtr)LookupIDByType(fontID, RT_FONT);
|
||||
if (!cursorfont)
|
||||
err = dixLookupResourceByType((pointer *)&cursorfont, fontID, RT_FONT,
|
||||
serverClient, DixReadAccess);
|
||||
if (err != Success)
|
||||
return NullCursor;
|
||||
if (AllocGlyphCursor(fontID, 0, fontID, 1, 0, 0, 0, ~0, ~0, ~0,
|
||||
&curs, serverClient, (XID)0) != Success)
|
||||
|
|
|
@ -148,14 +148,18 @@ SecurityLookupIDByClass(ClientPtr client, XID id, RESTYPE classes,
|
|||
pointer
|
||||
LookupIDByType(XID id, RESTYPE rtype)
|
||||
{
|
||||
return SecurityLookupIDByType(NullClient, id, rtype, DixUnknownAccess);
|
||||
pointer val;
|
||||
dixLookupResourceByType(&val, id, rtype, NullClient, DixUnknownAccess);
|
||||
return val;
|
||||
}
|
||||
|
||||
/* replaced by dixLookupResourceByClass */
|
||||
pointer
|
||||
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} */
|
||||
|
|
|
@ -413,12 +413,6 @@ Dispatch(void)
|
|||
}
|
||||
|
||||
client->sequence++;
|
||||
#ifdef DEBUG
|
||||
if (client->requestLogIndex == MAX_REQUEST_LOG)
|
||||
client->requestLogIndex = 0;
|
||||
client->requestLog[client->requestLogIndex] = MAJOROP;
|
||||
client->requestLogIndex++;
|
||||
#endif
|
||||
#ifdef XSERVER_DTRACE
|
||||
XSERVER_REQUEST_START(LookupMajorName(MAJOROP), MAJOROP,
|
||||
((xReq *)client->requestBuffer)->length,
|
||||
|
@ -1252,12 +1246,13 @@ int
|
|||
ProcCloseFont(ClientPtr client)
|
||||
{
|
||||
FontPtr pFont;
|
||||
int rc;
|
||||
REQUEST(xResourceReq);
|
||||
|
||||
REQUEST_SIZE_MATCH(xResourceReq);
|
||||
pFont = (FontPtr)SecurityLookupIDByType(client, stuff->id, RT_FONT,
|
||||
DixDestroyAccess);
|
||||
if ( pFont != (FontPtr)NULL) /* id was valid */
|
||||
rc = dixLookupResourceByType((pointer *)&pFont, stuff->id, RT_FONT,
|
||||
client, DixDestroyAccess);
|
||||
if (rc == Success)
|
||||
{
|
||||
FreeResource(stuff->id, RT_NONE);
|
||||
return(client->noClientException);
|
||||
|
@ -1265,7 +1260,7 @@ ProcCloseFont(ClientPtr client)
|
|||
else
|
||||
{
|
||||
client->errorValue = stuff->id;
|
||||
return (BadFont);
|
||||
return (rc == BadValue) ? BadFont : rc;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -137,8 +137,9 @@ SetDefaultFont(char *defaultfontname)
|
|||
(unsigned) strlen(defaultfontname), defaultfontname);
|
||||
if (err != Success)
|
||||
return FALSE;
|
||||
pf = (FontPtr) LookupIDByType(fid, RT_FONT);
|
||||
if (pf == (FontPtr) NULL)
|
||||
err = dixLookupResourceByType((pointer *)&pf, fid, RT_FONT, serverClient,
|
||||
DixReadAccess);
|
||||
if (err != Success)
|
||||
return FALSE;
|
||||
defaultFont = pf;
|
||||
return TRUE;
|
||||
|
@ -1201,17 +1202,18 @@ doPolyText(ClientPtr client, PTclosurePtr c)
|
|||
}
|
||||
|
||||
/* Make sure our drawable hasn't disappeared while we slept. */
|
||||
if (c->slept &&
|
||||
c->pDraw &&
|
||||
c->pDraw != (DrawablePtr)SecurityLookupIDByClass(client, c->did,
|
||||
RC_DRAWABLE, DixWriteAccess))
|
||||
if (c->slept && c->pDraw)
|
||||
{
|
||||
/* Our drawable has disappeared. Treat like client died... ask
|
||||
the FPE code to clean up after client and avoid further
|
||||
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;
|
||||
DrawablePtr pDraw;
|
||||
dixLookupDrawable(&pDraw, c->did, client, 0, DixWriteAccess);
|
||||
if (c->pDraw != pDraw) {
|
||||
/* Our drawable has disappeared. Treat like client died... ask
|
||||
the FPE code to clean up after client and avoid further
|
||||
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;
|
||||
|
@ -1233,12 +1235,11 @@ doPolyText(ClientPtr client, PTclosurePtr c)
|
|||
| ((Font)*(c->pElt+3)) << 8
|
||||
| ((Font)*(c->pElt+2)) << 16
|
||||
| ((Font)*(c->pElt+1)) << 24;
|
||||
pFont = (FontPtr)SecurityLookupIDByType(client, fid, RT_FONT,
|
||||
DixReadAccess);
|
||||
if (!pFont)
|
||||
err = dixLookupResourceByType((pointer *)&pFont, fid, RT_FONT,
|
||||
client, DixReadAccess);
|
||||
if (err != Success)
|
||||
{
|
||||
client->errorValue = fid;
|
||||
err = BadFont;
|
||||
err = (err == BadValue) ? BadFont : err;
|
||||
/* restore pFont and fid for step 4 (described below) */
|
||||
pFont = oldpFont;
|
||||
fid = oldfid;
|
||||
|
@ -1486,17 +1487,18 @@ doImageText(ClientPtr client, ITclosurePtr c)
|
|||
}
|
||||
|
||||
/* Make sure our drawable hasn't disappeared while we slept. */
|
||||
if (c->slept &&
|
||||
c->pDraw &&
|
||||
c->pDraw != (DrawablePtr)SecurityLookupIDByClass(client, c->did,
|
||||
RC_DRAWABLE, DixWriteAccess))
|
||||
if (c->slept && c->pDraw)
|
||||
{
|
||||
/* Our drawable has disappeared. Treat like client died... ask
|
||||
the FPE code to clean up after client. */
|
||||
fpe = c->pGC->font->fpe;
|
||||
(*fpe_functions[fpe->type].client_died) ((pointer) client, fpe);
|
||||
err = Success;
|
||||
goto bail;
|
||||
DrawablePtr pDraw;
|
||||
dixLookupDrawable(&pDraw, c->did, client, 0, DixWriteAccess);
|
||||
if (c->pDraw != pDraw) {
|
||||
/* Our drawable has disappeared. Treat like client died... ask
|
||||
the FPE code to clean up after client. */
|
||||
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);
|
||||
|
@ -2013,8 +2015,9 @@ FreeFonts(void)
|
|||
FontPtr
|
||||
find_old_font(XID id)
|
||||
{
|
||||
return (FontPtr) SecurityLookupIDByType(NullClient, id, RT_NONE,
|
||||
DixUnknownAccess);
|
||||
pointer pFont;
|
||||
dixLookupResourceByType(&pFont, id, RT_NONE, serverClient, DixReadAccess);
|
||||
return (FontPtr)pFont;
|
||||
}
|
||||
|
||||
Font
|
||||
|
|
|
@ -240,14 +240,9 @@ dixLookupWindow(WindowPtr *pWin, XID id, ClientPtr client, Mask access)
|
|||
int
|
||||
dixLookupGC(GCPtr *pGC, XID id, ClientPtr client, Mask access)
|
||||
{
|
||||
GCPtr pTmp = (GCPtr)SecurityLookupIDByType(client, id, RT_GC, access);
|
||||
if (pTmp) {
|
||||
*pGC = pTmp;
|
||||
return Success;
|
||||
}
|
||||
client->errorValue = id;
|
||||
*pGC = NULL;
|
||||
return BadGC;
|
||||
int rc;
|
||||
rc = dixLookupResourceByType((pointer *)pGC, id, RT_GC, client, access);
|
||||
return (rc == BadValue) ? BadGC : rc;
|
||||
}
|
||||
|
||||
int
|
||||
|
|
28
dix/events.c
28
dix/events.c
|
@ -583,16 +583,17 @@ XineramaSetWindowPntrs(DeviceIntPtr pDev, WindowPtr pWin)
|
|||
PanoramiXNumScreens*sizeof(WindowPtr));
|
||||
} else {
|
||||
PanoramiXRes *win;
|
||||
int i;
|
||||
int rc, i;
|
||||
|
||||
win = (PanoramiXRes*)LookupIDByType(pWin->drawable.id, XRT_WINDOW);
|
||||
|
||||
if(!win)
|
||||
rc = dixLookupResourceByType((pointer *)&win, pWin->drawable.id,
|
||||
XRT_WINDOW, serverClient, DixReadAccess);
|
||||
if (rc != Success)
|
||||
return FALSE;
|
||||
|
||||
for(i = 0; i < PanoramiXNumScreens; i++) {
|
||||
pSprite->windows[i] = LookupIDByType(win->info[i].id, RT_WINDOW);
|
||||
if(!pSprite->windows[i]) /* window is being unmapped */
|
||||
rc = dixLookupWindow(pSprite->windows + i, win->info[i].id,
|
||||
serverClient, DixReadAccess);
|
||||
if (rc != Success) /* window is being unmapped */
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
@ -664,7 +665,7 @@ XineramaConfineCursorToWindow(DeviceIntPtr pDev,
|
|||
void
|
||||
SetMaskForEvent(int deviceid, Mask mask, int event)
|
||||
{
|
||||
if (deviceid < 0 || deviceid > MAXDEVICES)
|
||||
if (deviceid < 0 || deviceid >= MAXDEVICES)
|
||||
FatalError("SetMaskForEvent: bogus device id");
|
||||
filters[deviceid][event] = mask;
|
||||
}
|
||||
|
@ -4246,8 +4247,7 @@ CoreEnterLeaveEvent(
|
|||
if ((type == EnterNotify) && (mask & KeymapStateMask))
|
||||
{
|
||||
xKeymapEvent ke;
|
||||
ClientPtr client = grab ? rClient(grab)
|
||||
: clients[CLIENT_ID(pWin->drawable.id)];
|
||||
ClientPtr client = grab ? rClient(grab) : wClient(pWin);
|
||||
if (XaceHook(XACE_DEVICE_ACCESS, client, keybd, DixReadAccess))
|
||||
bzero((char *)&ke.map[0], 31);
|
||||
else
|
||||
|
@ -4354,11 +4354,11 @@ CoreFocusEvent(DeviceIntPtr dev, int type, int mode, int detail, WindowPtr pWin)
|
|||
((pWin->eventMask | wOtherEventMasks(pWin)) & KeymapStateMask))
|
||||
{
|
||||
xKeymapEvent ke;
|
||||
ClientPtr client = clients[CLIENT_ID(pWin->drawable.id)];
|
||||
if (XaceHook(XACE_DEVICE_ACCESS, client, dev, FALSE))
|
||||
memmove((char *)&ke.map[0], (char *)&dev->key->down[1], 31);
|
||||
else
|
||||
ClientPtr client = wClient(pWin);
|
||||
if (XaceHook(XACE_DEVICE_ACCESS, client, dev, DixReadAccess))
|
||||
bzero((char *)&ke.map[0], 31);
|
||||
else
|
||||
memmove((char *)&ke.map[0], (char *)&dev->key->down[1], 31);
|
||||
|
||||
ke.type = KeymapNotify;
|
||||
DeliverEventsToWindow(dev, pWin, (xEvent *)&ke, 1,
|
||||
|
@ -5425,7 +5425,7 @@ DeleteWindowFromAnyEvents(WindowPtr pWin, Bool freeResources)
|
|||
to None
|
||||
*/
|
||||
#ifdef NOTDEF
|
||||
|| clients[CLIENT_ID(parent->drawable.id)]->clientGone
|
||||
|| wClient(parent)->clientGone
|
||||
#endif
|
||||
);
|
||||
if (!ActivateFocusInGrab(keybd, pWin, parent))
|
||||
|
|
|
@ -77,9 +77,12 @@ GetAccelerationProfile(DeviceVelocityPtr s, int profile_num);
|
|||
#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
|
||||
*/
|
||||
|
@ -108,7 +111,7 @@ InitVelocityData(DeviceVelocityPtr s)
|
|||
static void
|
||||
FreeVelocityData(DeviceVelocityPtr s){
|
||||
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
|
||||
GetAccelerationProfile(
|
||||
DeviceVelocityPtr s,
|
||||
|
@ -844,8 +857,8 @@ GetAccelerationProfile(
|
|||
return PowerProfile;
|
||||
case AccelProfileLinear:
|
||||
return LinearProfile;
|
||||
case AccelProfileReserved:
|
||||
/* reserved for future use, e.g. a user-defined profile */
|
||||
case AccelProfileNone:
|
||||
return NoProfile;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
|
@ -856,8 +869,10 @@ GetAccelerationProfile(
|
|||
* Intended to make profiles exchangeable at runtime.
|
||||
* 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
|
||||
* would be a good place, since FreeVelocityData() also calls this with -1.
|
||||
* returns FALSE (0) if profile number is unavailable.
|
||||
* would be a good place, since FreeVelocityData() also calls this with
|
||||
* PROFILE_UNINITIALIZE.
|
||||
*
|
||||
* returns FALSE if profile number is unavailable, TRUE otherwise.
|
||||
*/
|
||||
int
|
||||
SetAccelerationProfile(
|
||||
|
@ -867,7 +882,7 @@ SetAccelerationProfile(
|
|||
PointerAccelerationProfileFunc profile;
|
||||
profile = GetAccelerationProfile(s, profile_num);
|
||||
|
||||
if(profile == NULL && profile_num != -1)
|
||||
if(profile == NULL && profile_num != PROFILE_UNINITIALIZE)
|
||||
return FALSE;
|
||||
|
||||
if(s->profile_private != NULL){
|
||||
|
@ -955,6 +970,11 @@ acceleratePointerPredictable(
|
|||
if (!num_valuators || !valuators || !velocitydata)
|
||||
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) {
|
||||
dx = valuators[0];
|
||||
px = &valuators[0];
|
||||
|
@ -988,7 +1008,7 @@ acceleratePointerPredictable(
|
|||
/* Since it may not be apparent: lrintf() does not offer
|
||||
* strong statements about rounding; however because we
|
||||
* 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. */
|
||||
*px = lrintf(tmp);
|
||||
pDev->last.remainder[0] = tmp - (float)*px;
|
||||
|
|
|
@ -392,13 +392,16 @@ unsigned int
|
|||
GetXIDList(ClientPtr pClient, unsigned count, XID *pids)
|
||||
{
|
||||
unsigned int found = 0;
|
||||
XID id = pClient->clientAsMask;
|
||||
XID rc, id = pClient->clientAsMask;
|
||||
XID maxid;
|
||||
pointer val;
|
||||
|
||||
maxid = id | RESOURCE_ID_MASK;
|
||||
while ( (found < count) && (id <= maxid) )
|
||||
{
|
||||
if (!LookupIDByClass(id, RC_ANY))
|
||||
rc = dixLookupResourceByClass(&val, id, RC_ANY, serverClient,
|
||||
DixGetAttrAccess);
|
||||
if (rc == BadValue)
|
||||
{
|
||||
pids[found++] = id;
|
||||
}
|
||||
|
@ -826,6 +829,8 @@ FreeAllResources(void)
|
|||
Bool
|
||||
LegalNewID(XID id, ClientPtr client)
|
||||
{
|
||||
pointer val;
|
||||
int rc;
|
||||
|
||||
#ifdef PANORAMIX
|
||||
XID minid, maxid;
|
||||
|
@ -838,9 +843,16 @@ LegalNewID(XID id, ClientPtr client)
|
|||
return TRUE;
|
||||
}
|
||||
#endif /* PANORAMIX */
|
||||
return ((client->clientAsMask == (id & ~RESOURCE_ID_MASK)) &&
|
||||
((clientTable[client->index].expectID <= id) ||
|
||||
!LookupIDByClass(id, RC_ANY)));
|
||||
if (client->clientAsMask == (id & ~RESOURCE_ID_MASK))
|
||||
{
|
||||
if (clientTable[client->index].expectID <= id)
|
||||
return TRUE;
|
||||
|
||||
rc = dixLookupResourceByClass(&val, id, RC_ANY, serverClient,
|
||||
DixGetAttrAccess);
|
||||
return (rc == BadValue);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int
|
||||
|
|
85
dix/window.c
85
dix/window.c
|
@ -2,25 +2,24 @@
|
|||
|
||||
Copyright (c) 2006, Red Hat, Inc.
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation.
|
||||
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 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
|
||||
RED HAT 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.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
||||
|
@ -2775,6 +2774,7 @@ UnrealizeTree(
|
|||
WindowPtr pChild;
|
||||
UnrealizeWindowProcPtr Unrealize;
|
||||
MarkUnrealizedWindowProcPtr MarkUnrealizedWindow;
|
||||
int rc;
|
||||
|
||||
Unrealize = pWin->drawable.pScreen->UnrealizeWindow;
|
||||
MarkUnrealizedWindow = pWin->drawable.pScreen->MarkUnrealizedWindow;
|
||||
|
@ -2788,9 +2788,10 @@ UnrealizeTree(
|
|||
#ifdef PANORAMIX
|
||||
if(!noPanoramiXExtension && !pChild->drawable.pScreen->myNum) {
|
||||
PanoramiXRes *win;
|
||||
win = (PanoramiXRes*)LookupIDByType(pChild->drawable.id,
|
||||
XRT_WINDOW);
|
||||
if(win)
|
||||
rc = dixLookupResourceByType((pointer *)&win,
|
||||
pChild->drawable.id, XRT_WINDOW,
|
||||
serverClient, DixWriteAccess);
|
||||
if (rc == Success)
|
||||
win->u.win.visibility = VisibilityNotViewable;
|
||||
}
|
||||
#endif
|
||||
|
@ -3052,7 +3053,7 @@ SendVisibilityNotify(WindowPtr pWin)
|
|||
if(!noPanoramiXExtension) {
|
||||
PanoramiXRes *win;
|
||||
WindowPtr pWin2;
|
||||
int i, Scrnum;
|
||||
int rc, i, Scrnum;
|
||||
|
||||
Scrnum = pWin->drawable.pScreen->myNum;
|
||||
|
||||
|
@ -3066,9 +3067,10 @@ SendVisibilityNotify(WindowPtr pWin)
|
|||
for(i = 0; i < PanoramiXNumScreens; i++) {
|
||||
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)
|
||||
return;
|
||||
|
||||
|
@ -3078,17 +3080,19 @@ SendVisibilityNotify(WindowPtr pWin)
|
|||
break;
|
||||
case VisibilityPartiallyObscured:
|
||||
if(Scrnum) {
|
||||
pWin2 = (WindowPtr)LookupIDByType(win->info[0].id, RT_WINDOW);
|
||||
if (pWin2) pWin = pWin2;
|
||||
rc = dixLookupWindow(&pWin2, win->info[0].id, serverClient,
|
||||
DixWriteAccess);
|
||||
if (rc == Success) pWin = pWin2;
|
||||
}
|
||||
break;
|
||||
case VisibilityFullyObscured:
|
||||
for(i = 0; i < PanoramiXNumScreens; i++) {
|
||||
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)
|
||||
return;
|
||||
|
||||
|
@ -3704,7 +3708,7 @@ DrawLogo(WindowPtr pWin)
|
|||
int x, y;
|
||||
unsigned int width, height, size;
|
||||
GC *pGC;
|
||||
int thin, gap, d31;
|
||||
int rc, thin, gap, d31;
|
||||
DDXPointRec poly[4];
|
||||
ChangeGCVal fore[2], back[2];
|
||||
xrgb rgb[2];
|
||||
|
@ -3725,20 +3729,23 @@ DrawLogo(WindowPtr pWin)
|
|||
fore[0].val = pScreen->whitePixel;
|
||||
else
|
||||
fore[0].val = pScreen->blackPixel;
|
||||
if ((pWin->backgroundState == BackgroundPixel) &&
|
||||
(cmap = (ColormapPtr)LookupIDByType(wColormap (pWin), RT_COLORMAP))) {
|
||||
Pixel querypixels[2];
|
||||
if (pWin->backgroundState == BackgroundPixel) {
|
||||
rc = dixLookupResourceByType((pointer *)&cmap, wColormap(pWin),
|
||||
RT_COLORMAP, serverClient, DixReadAccess);
|
||||
if (rc == Success) {
|
||||
Pixel querypixels[2];
|
||||
|
||||
querypixels[0] = fore[0].val;
|
||||
querypixels[1] = pWin->background.pixel;
|
||||
QueryColors(cmap, 2, querypixels, rgb);
|
||||
if ((rgb[0].red == rgb[1].red) &&
|
||||
(rgb[0].green == rgb[1].green) &&
|
||||
(rgb[0].blue == rgb[1].blue)) {
|
||||
if (fore[0].val == pScreen->blackPixel)
|
||||
fore[0].val = pScreen->whitePixel;
|
||||
else
|
||||
fore[0].val = pScreen->blackPixel;
|
||||
querypixels[0] = fore[0].val;
|
||||
querypixels[1] = pWin->background.pixel;
|
||||
QueryColors(cmap, 2, querypixels, rgb);
|
||||
if ((rgb[0].red == rgb[1].red) &&
|
||||
(rgb[0].green == rgb[1].green) &&
|
||||
(rgb[0].blue == rgb[1].blue)) {
|
||||
if (fore[0].val == pScreen->blackPixel)
|
||||
fore[0].val = pScreen->whitePixel;
|
||||
else
|
||||
fore[0].val = pScreen->blackPixel;
|
||||
}
|
||||
}
|
||||
}
|
||||
fore[1].val = FillSolid;
|
||||
|
|
|
@ -219,7 +219,7 @@ turns on auto-repeat.
|
|||
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
|
||||
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.
|
||||
.TP 8
|
||||
.B \-s \fIminutes\fP
|
||||
|
|
53
exa/exa.c
53
exa/exa.c
|
@ -1048,6 +1048,50 @@ exaCreateScreenResources(ScreenPtr pScreen)
|
|||
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
|
||||
* screen private, before calling down to the next CloseSccreen.
|
||||
|
@ -1063,6 +1107,10 @@ exaCloseScreen(int i, ScreenPtr pScreen)
|
|||
if (ps->Glyphs == exaGlyphs)
|
||||
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, CloseScreen);
|
||||
unwrap(pExaScr, pScreen, GetImage);
|
||||
|
@ -1223,6 +1271,11 @@ exaDriverInit (ScreenPtr pScreen,
|
|||
/*
|
||||
* 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, CloseScreen, exaCloseScreen);
|
||||
wrap(pExaScr, pScreen, GetImage, exaGetImage);
|
||||
|
|
13
exa/exa.h
13
exa/exa.h
|
@ -66,6 +66,9 @@ struct _ExaOffscreenArea {
|
|||
ExaOffscreenArea *next;
|
||||
|
||||
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)
|
||||
|
||||
/**
|
||||
* 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 */
|
||||
|
|
|
@ -406,7 +406,8 @@ exaHWCopyNtoN (DrawablePtr pSrcDrawable,
|
|||
xfree(rects);
|
||||
|
||||
if (!pGC || !exaGCReadsDestination(pDstDrawable, pGC->planemask,
|
||||
pGC->fillStyle, pGC->alu)) {
|
||||
pGC->fillStyle, pGC->alu,
|
||||
pGC->clientClipType)) {
|
||||
dstregion = REGION_CREATE(pScreen, NullBox, 0);
|
||||
REGION_COPY(pScreen, dstregion, srcregion);
|
||||
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,
|
||||
Pixel pixel, CARD32 planemask, CARD32 alu);
|
||||
Pixel pixel, CARD32 planemask, CARD32 alu,
|
||||
unsigned int clientClipType);
|
||||
|
||||
static void
|
||||
exaPolyFillRect(DrawablePtr pDrawable,
|
||||
|
@ -787,10 +789,11 @@ exaPolyFillRect(DrawablePtr pDrawable,
|
|||
if (((pGC->fillStyle == FillSolid || pGC->tileIsPixel) &&
|
||||
exaFillRegionSolid(pDrawable, pReg, pGC->fillStyle == FillSolid ?
|
||||
pGC->fgPixel : pGC->tile.pixel, pGC->planemask,
|
||||
pGC->alu)) ||
|
||||
pGC->alu, pGC->clientClipType)) ||
|
||||
(pGC->fillStyle == FillTiled && !pGC->tileIsPixel &&
|
||||
exaFillRegionTiled(pDrawable, pReg, pGC->tile.pixmap, &pGC->patOrg,
|
||||
pGC->planemask, pGC->alu))) {
|
||||
pGC->planemask, pGC->alu,
|
||||
pGC->clientClipType))) {
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
@ -952,11 +955,8 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
|
|||
}
|
||||
|
||||
static Bool
|
||||
exaFillRegionSolid (DrawablePtr pDrawable,
|
||||
RegionPtr pRegion,
|
||||
Pixel pixel,
|
||||
CARD32 planemask,
|
||||
CARD32 alu)
|
||||
exaFillRegionSolid (DrawablePtr pDrawable, RegionPtr pRegion, Pixel pixel,
|
||||
CARD32 planemask, CARD32 alu, unsigned int clientClipType)
|
||||
{
|
||||
ExaScreenPriv(pDrawable->pScreen);
|
||||
PixmapPtr pPixmap = exaGetDrawablePixmap (pDrawable);
|
||||
|
@ -969,7 +969,8 @@ exaFillRegionSolid (DrawablePtr pDrawable,
|
|||
pixmaps[0].as_src = FALSE;
|
||||
pixmaps[0].pPix = pPixmap;
|
||||
pixmaps[0].pReg = exaGCReadsDestination(pDrawable, planemask, FillSolid,
|
||||
alu) ? NULL : pRegion;
|
||||
alu, clientClipType)
|
||||
? NULL : pRegion;
|
||||
|
||||
exaGetDrawableDeltas(pDrawable, pPixmap, &xoff, &yoff);
|
||||
REGION_TRANSLATE(pScreen, pRegion, xoff, yoff);
|
||||
|
@ -1032,12 +1033,9 @@ out:
|
|||
* Based on fbFillRegionTiled(), fbTile().
|
||||
*/
|
||||
Bool
|
||||
exaFillRegionTiled (DrawablePtr pDrawable,
|
||||
RegionPtr pRegion,
|
||||
PixmapPtr pTile,
|
||||
DDXPointPtr pPatOrg,
|
||||
CARD32 planemask,
|
||||
CARD32 alu)
|
||||
exaFillRegionTiled (DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile,
|
||||
DDXPointPtr pPatOrg, CARD32 planemask, CARD32 alu,
|
||||
unsigned int clientClipType)
|
||||
{
|
||||
ExaScreenPriv(pDrawable->pScreen);
|
||||
PixmapPtr pPixmap;
|
||||
|
@ -1060,13 +1058,14 @@ exaFillRegionTiled (DrawablePtr pDrawable,
|
|||
if (tileWidth == 1 && tileHeight == 1)
|
||||
return exaFillRegionSolid(pDrawable, pRegion,
|
||||
exaGetPixmapFirstPixel (pTile), planemask,
|
||||
alu);
|
||||
alu, clientClipType);
|
||||
|
||||
pixmaps[0].as_dst = TRUE;
|
||||
pixmaps[0].as_src = FALSE;
|
||||
pixmaps[0].pPix = pPixmap = exaGetDrawablePixmap (pDrawable);
|
||||
pixmaps[0].pReg = exaGCReadsDestination(pDrawable, planemask, FillTiled,
|
||||
alu) ? NULL : pRegion;
|
||||
alu, clientClipType)
|
||||
? NULL : pRegion;
|
||||
pixmaps[1].as_dst = FALSE;
|
||||
pixmaps[1].as_src = TRUE;
|
||||
pixmaps[1].pPix = pTile;
|
||||
|
|
|
@ -354,8 +354,14 @@ exaGlyphCacheHashRemove(ExaGlyphCachePtr cache,
|
|||
* is to use the UploadToScreen() driver hook; this allows us to
|
||||
* pipeline glyph uploads and to avoid creating offscreen pixmaps for
|
||||
* 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,
|
||||
ExaGlyphCachePtr cache,
|
||||
int pos,
|
||||
|
@ -369,16 +375,16 @@ exaGlyphCacheUploadGlyph(ScreenPtr pScreen,
|
|||
ExaMigrationRec pixmaps[1];
|
||||
|
||||
if (!pExaScr->info->UploadToScreen || pExaScr->swappedOut || pExaPixmap->accel_blocked)
|
||||
return FALSE;
|
||||
goto composite;
|
||||
|
||||
/* If the glyph pixmap is already uploaded, no point in doing
|
||||
* things this way */
|
||||
if (exaPixmapIsOffscreen(pGlyphPixmap))
|
||||
return FALSE;
|
||||
goto composite;
|
||||
|
||||
/* UploadToScreen only works if bpp match */
|
||||
if (pGlyphPixmap->drawable.bitsPerPixel != pCachePixmap->drawable.bitsPerPixel)
|
||||
return FALSE;
|
||||
goto composite;
|
||||
|
||||
/* cache pixmap must be offscreen. */
|
||||
pixmaps[0].as_dst = TRUE;
|
||||
|
@ -388,26 +394,37 @@ exaGlyphCacheUploadGlyph(ScreenPtr pScreen,
|
|||
exaDoMigration (pixmaps, 1, TRUE);
|
||||
|
||||
if (!exaPixmapIsOffscreen(pCachePixmap))
|
||||
return FALSE;
|
||||
goto composite;
|
||||
|
||||
/* CACHE_{X,Y} are in pixmap coordinates, no need for cache{X,Y}off */
|
||||
if (!pExaScr->info->UploadToScreen(pCachePixmap,
|
||||
CACHE_X(pos),
|
||||
CACHE_Y(pos),
|
||||
pGlyph->info.width,
|
||||
pGlyph->info.height,
|
||||
(char *)pExaPixmap->sys_ptr,
|
||||
pExaPixmap->sys_pitch))
|
||||
return FALSE;
|
||||
if (pExaScr->info->UploadToScreen(pCachePixmap,
|
||||
CACHE_X(pos),
|
||||
CACHE_Y(pos),
|
||||
pGlyph->info.width,
|
||||
pGlyph->info.height,
|
||||
(char *)pExaPixmap->sys_ptr,
|
||||
pExaPixmap->sys_pitch))
|
||||
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,
|
||||
CACHE_X(pos),
|
||||
CACHE_Y(pos),
|
||||
CACHE_X(pos) + pGlyph->info.width,
|
||||
CACHE_Y(pos) + pGlyph->info.height);
|
||||
|
||||
return TRUE;
|
||||
CACHE_X(pos) + cache->glyphWidth,
|
||||
CACHE_Y(pos) + cache->glyphHeight);
|
||||
}
|
||||
|
||||
static ExaGlyphCacheResult
|
||||
|
@ -483,23 +500,7 @@ exaGlyphCacheBufferGlyph(ScreenPtr pScreen,
|
|||
cache->evictionPosition = rand() % cache->size;
|
||||
}
|
||||
|
||||
/* Now actually upload the glyph into the cache picture; if
|
||||
* 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);
|
||||
}
|
||||
|
||||
exaGlyphCacheUploadGlyph(pScreen, cache, pos, pGlyph);
|
||||
}
|
||||
|
||||
buffer->mask = cache->picture;
|
||||
|
|
|
@ -93,7 +93,7 @@ exaFindAreaToEvict(ExaScreenPrivPtr pExaScr, int size, int align)
|
|||
{
|
||||
ExaOffscreenArea *begin, *end, *best;
|
||||
unsigned cost, best_cost;
|
||||
int avail, real_size, tmp;
|
||||
int avail, real_size;
|
||||
|
||||
best_cost = UINT_MAX;
|
||||
begin = end = pExaScr->info->offScreenAreas;
|
||||
|
@ -111,10 +111,7 @@ exaFindAreaToEvict(ExaScreenPrivPtr pExaScr, int size, int align)
|
|||
break;
|
||||
|
||||
/* adjust size needed to account for alignment loss for this area */
|
||||
real_size = size;
|
||||
tmp = begin->base_offset % align;
|
||||
if (tmp)
|
||||
real_size += (align - tmp);
|
||||
real_size = size + (begin->base_offset + begin->size - size) % align;
|
||||
|
||||
while (avail < real_size && end != NULL)
|
||||
{
|
||||
|
@ -172,7 +169,7 @@ exaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
|
|||
{
|
||||
ExaOffscreenArea *area;
|
||||
ExaScreenPriv (pScreen);
|
||||
int tmp, real_size = 0;
|
||||
int real_size = 0, free_total = 0, largest_avail = 0;
|
||||
#if DEBUG_OFFSCREEN
|
||||
static int number = 0;
|
||||
ErrorF("================= ============ allocating a new pixmap %d\n", ++number);
|
||||
|
@ -205,14 +202,37 @@ exaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
|
|||
continue;
|
||||
|
||||
/* adjust size to match alignment requirement */
|
||||
real_size = size;
|
||||
tmp = area->base_offset % align;
|
||||
if (tmp)
|
||||
real_size += (align - tmp);
|
||||
real_size = size + (area->base_offset + area->size - size) % align;
|
||||
|
||||
/* does it fit? */
|
||||
if (real_size <= area->size)
|
||||
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)
|
||||
|
@ -228,10 +248,7 @@ exaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
|
|||
}
|
||||
|
||||
/* adjust size needed to account for alignment loss for this area */
|
||||
real_size = size;
|
||||
tmp = area->base_offset % align;
|
||||
if (tmp)
|
||||
real_size += (align - tmp);
|
||||
real_size = size + (area->base_offset + area->size - size) % align;
|
||||
|
||||
/*
|
||||
* Kick out first area if in use
|
||||
|
@ -254,17 +271,27 @@ exaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
|
|||
ExaOffscreenArea *new_area = xalloc (sizeof (ExaOffscreenArea));
|
||||
if (!new_area)
|
||||
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->align = 0;
|
||||
new_area->size = area->size - real_size;
|
||||
new_area->state = ExaOffscreenAvail;
|
||||
new_area->save = NULL;
|
||||
new_area->last_use = 0;
|
||||
new_area->eviction_cost = 0;
|
||||
new_area->next = area->next;
|
||||
area->next = new_area;
|
||||
new_area->next = 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;
|
||||
}
|
||||
} else
|
||||
pExaScr->numOffscreenAvailable--;
|
||||
|
||||
/*
|
||||
* Mark this area as in use
|
||||
*/
|
||||
|
@ -277,6 +304,7 @@ exaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
|
|||
area->last_use = pExaScr->offScreenCounter++;
|
||||
area->offset = (area->base_offset + align - 1);
|
||||
area->offset -= area->offset % align;
|
||||
area->align = align;
|
||||
|
||||
ExaOffscreenValidate (pScreen);
|
||||
|
||||
|
@ -391,7 +419,7 @@ exaEnableDisableFBAccess (int index, Bool enable)
|
|||
|
||||
/* merge the next free area into this one */
|
||||
static void
|
||||
ExaOffscreenMerge (ExaOffscreenArea *area)
|
||||
ExaOffscreenMerge (ExaScreenPrivPtr pExaScr, ExaOffscreenArea *area)
|
||||
{
|
||||
ExaOffscreenArea *next = area->next;
|
||||
|
||||
|
@ -399,7 +427,13 @@ ExaOffscreenMerge (ExaOffscreenArea *area)
|
|||
area->size += next->size;
|
||||
/* frob pointer */
|
||||
area->next = next->next;
|
||||
if (area->next)
|
||||
area->next->prev = area;
|
||||
else
|
||||
pExaScr->info->offScreenAreas->prev = area;
|
||||
xfree (next);
|
||||
|
||||
pExaScr->numOffscreenAvailable--;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -436,19 +470,19 @@ exaOffscreenFree (ScreenPtr pScreen, ExaOffscreenArea *area)
|
|||
if (area == pExaScr->info->offScreenAreas)
|
||||
prev = NULL;
|
||||
else
|
||||
for (prev = pExaScr->info->offScreenAreas; prev; prev = prev->next)
|
||||
if (prev->next == area)
|
||||
break;
|
||||
prev = area->prev;
|
||||
|
||||
pExaScr->numOffscreenAvailable++;
|
||||
|
||||
/* link with next area if free */
|
||||
if (next && next->state == ExaOffscreenAvail)
|
||||
ExaOffscreenMerge (area);
|
||||
ExaOffscreenMerge (pExaScr, area);
|
||||
|
||||
/* link with prev area if free */
|
||||
if (prev && prev->state == ExaOffscreenAvail)
|
||||
{
|
||||
area = prev;
|
||||
ExaOffscreenMerge (area);
|
||||
ExaOffscreenMerge (pExaScr, area);
|
||||
}
|
||||
|
||||
ExaOffscreenValidate (pScreen);
|
||||
|
@ -468,6 +502,167 @@ ExaOffscreenMarkUsed (PixmapPtr pPixmap)
|
|||
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.
|
||||
*
|
||||
|
@ -491,15 +686,18 @@ exaOffscreenInit (ScreenPtr pScreen)
|
|||
area->state = ExaOffscreenAvail;
|
||||
area->base_offset = pExaScr->info->offScreenBase;
|
||||
area->offset = area->base_offset;
|
||||
area->align = 0;
|
||||
area->size = pExaScr->info->memorySize - area->base_offset;
|
||||
area->save = NULL;
|
||||
area->next = NULL;
|
||||
area->prev = area;
|
||||
area->last_use = 0;
|
||||
area->eviction_cost = 0;
|
||||
|
||||
/* Add it to the free areas */
|
||||
pExaScr->info->offScreenAreas = area;
|
||||
pExaScr->offScreenCounter = 1;
|
||||
pExaScr->numOffscreenAvailable = 1;
|
||||
|
||||
ExaOffscreenValidate (pScreen);
|
||||
|
||||
|
|
|
@ -145,6 +145,8 @@ typedef struct {
|
|||
typedef void (*EnableDisableFBAccessProcPtr)(int, Bool);
|
||||
typedef struct {
|
||||
ExaDriverPtr info;
|
||||
ScreenBlockHandlerProcPtr SavedBlockHandler;
|
||||
ScreenWakeupHandlerProcPtr SavedWakeupHandler;
|
||||
CreateGCProcPtr SavedCreateGC;
|
||||
CloseScreenProcPtr SavedCloseScreen;
|
||||
GetImageProcPtr SavedGetImage;
|
||||
|
@ -170,6 +172,9 @@ typedef struct {
|
|||
unsigned disableFbCount;
|
||||
Bool optimize_migration;
|
||||
unsigned offScreenCounter;
|
||||
unsigned numOffscreenAvailable;
|
||||
CARD32 lastDefragment;
|
||||
CARD32 nextDefragment;
|
||||
|
||||
/* Store all accessed pixmaps, so we can check for duplicates. */
|
||||
PixmapPtr prepare_access[6];
|
||||
|
@ -415,11 +420,12 @@ ExaCheckAddTraps (PicturePtr pPicture,
|
|||
|
||||
static _X_INLINE Bool
|
||||
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 ||
|
||||
!EXA_PM_IS_SOLID(pDrawable, planemask));
|
||||
clientClipType != CT_NONE || !EXA_PM_IS_SOLID(pDrawable, planemask));
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -427,7 +433,8 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
|
|||
|
||||
Bool
|
||||
exaFillRegionTiled (DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile,
|
||||
DDXPointPtr pPatOrg, CARD32 planemask, CARD32 alu);
|
||||
DDXPointPtr pPatOrg, CARD32 planemask, CARD32 alu,
|
||||
unsigned int clientClipType);
|
||||
|
||||
void
|
||||
exaGetImage (DrawablePtr pDrawable, int x, int y, int w, int h,
|
||||
|
@ -458,6 +465,9 @@ ExaOffscreenSwapOut (ScreenPtr pScreen);
|
|||
void
|
||||
ExaOffscreenSwapIn (ScreenPtr pScreen);
|
||||
|
||||
ExaOffscreenArea*
|
||||
ExaOffscreenDefragment (ScreenPtr pScreen);
|
||||
|
||||
Bool
|
||||
exaOffscreenInit(ScreenPtr pScreen);
|
||||
|
||||
|
|
|
@ -945,7 +945,7 @@ exaComposite(CARD8 op,
|
|||
|
||||
ret = exaFillRegionTiled(pDst->pDrawable, ®ion,
|
||||
(PixmapPtr)pSrc->pDrawable,
|
||||
&patOrg, FB_ALLONES, GXcopy);
|
||||
&patOrg, FB_ALLONES, GXcopy, CT_NONE);
|
||||
|
||||
REGION_UNINIT(pDst->pDrawable->pScreen, ®ion);
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ ExaCheckPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth,
|
|||
EXA_GC_PROLOGUE(pGC);
|
||||
EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
|
||||
if (exaGCReadsDestination(pDrawable, pGC->planemask, pGC->fillStyle,
|
||||
pGC->alu))
|
||||
pGC->alu, pGC->clientClipType))
|
||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||
else
|
||||
exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST, pExaPixmap->pDamage ?
|
||||
|
|
|
@ -85,8 +85,10 @@ fbUninstallColormap(ColormapPtr pmap)
|
|||
{
|
||||
if (pmap->mid != pmap->pScreen->defColormap)
|
||||
{
|
||||
curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
|
||||
RT_COLORMAP);
|
||||
dixLookupResourceByType((pointer *)&curpmap,
|
||||
pmap->pScreen->defColormap,
|
||||
RT_COLORMAP,
|
||||
serverClient, DixInstallAccess);
|
||||
(*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;
|
||||
|
||||
xDst += pDst->pDrawable->x;
|
||||
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);
|
||||
miCompositeSourceValidate (pSrc, xSrc - xDst, ySrc - yDst, width, height);
|
||||
if (pMask)
|
||||
miCompositeSourceValidate (pMask, xMask, yMask, width, height);
|
||||
miCompositeSourceValidate (pMask, xMask - xDst, yMask - yDst, width, height);
|
||||
|
||||
src = image_from_pict (pSrc, TRUE);
|
||||
mask = image_from_pict (pMask, TRUE);
|
||||
|
@ -292,7 +279,8 @@ create_bits_picture (PicturePtr pict,
|
|||
|
||||
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 (
|
||||
pict->format,
|
||||
|
@ -321,8 +309,12 @@ create_bits_picture (PicturePtr pict,
|
|||
{
|
||||
if (pict->clientClipType != CT_NONE)
|
||||
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_region_translate (pict->pCompositeClip, pict->pDrawable->x, pict->pDrawable->y);
|
||||
}
|
||||
|
||||
/* Indexed table */
|
||||
|
|
|
@ -799,8 +799,8 @@ int __glXDisp_WaitX(__GLXclientState *cl, GLbyte *pc)
|
|||
return error;
|
||||
}
|
||||
|
||||
if (glxc && glxc->drawPriv->waitGL)
|
||||
(*glxc->drawPriv->waitGL)(glxc->drawPriv);
|
||||
if (glxc && glxc->drawPriv->waitX)
|
||||
(*glxc->drawPriv->waitX)(glxc->drawPriv);
|
||||
|
||||
return Success;
|
||||
}
|
||||
|
|
|
@ -406,7 +406,7 @@ dri2GetBuffers(__DRIdrawable *driDrawable,
|
|||
int *out_count, void *loaderPrivate)
|
||||
{
|
||||
__GLXDRIdrawable *private = loaderPrivate;
|
||||
DRI2BufferPtr buffers;
|
||||
DRI2BufferPtr *buffers;
|
||||
int i;
|
||||
int j;
|
||||
|
||||
|
@ -427,15 +427,59 @@ dri2GetBuffers(__DRIdrawable *driDrawable,
|
|||
/* Do not send the real front buffer of a window to the client.
|
||||
*/
|
||||
if ((private->base.pDraw->type == DRAWABLE_WINDOW)
|
||||
&& (buffers[i].attachment == DRI2BufferFrontLeft)) {
|
||||
&& (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;
|
||||
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++;
|
||||
}
|
||||
|
||||
*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++;
|
||||
}
|
||||
|
||||
|
@ -454,6 +498,7 @@ static const __DRIdri2LoaderExtension loaderExtension = {
|
|||
{ __DRI_DRI2_LOADER, __DRI_DRI2_LOADER_VERSION },
|
||||
dri2GetBuffers,
|
||||
dri2FlushFrontBuffer,
|
||||
dri2GetBuffersWithFormat,
|
||||
};
|
||||
|
||||
static const __DRIextension *loader_extensions[] = {
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include "glxserver.h"
|
||||
#include <windowstr.h>
|
||||
#include <propertyst.h>
|
||||
#include <registry.h>
|
||||
#include "privates.h"
|
||||
#include <os.h>
|
||||
#include "g_disptab.h"
|
||||
|
@ -126,6 +127,10 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid)
|
|||
__GLXcontext *c;
|
||||
|
||||
for (c = glxAllContexts; c; c = c->next) {
|
||||
if (c->isCurrent && (c->drawPriv == glxPriv || c->readPriv == glxPriv)) {
|
||||
(*c->loseCurrent)(c);
|
||||
__glXFlushContextCache();
|
||||
}
|
||||
if (c->drawPriv == glxPriv)
|
||||
c->drawPriv = NULL;
|
||||
if (c->readPriv == glxPriv)
|
||||
|
@ -313,6 +318,10 @@ void GlxExtensionInit(void)
|
|||
__glXDrawableRes = CreateNewResourceType((DeleteType)DrawableGone);
|
||||
__glXSwapBarrierRes = CreateNewResourceType((DeleteType)SwapBarrierGone);
|
||||
|
||||
RegisterResourceName(__glXContextRes, "GLXContext");
|
||||
RegisterResourceName(__glXDrawableRes, "GLXDrawable");
|
||||
RegisterResourceName(__glXSwapBarrierRes, "GLXSwapBarrier");
|
||||
|
||||
if (!dixRequestPrivate(glxClientPrivateKey, sizeof (__GLXclientState)))
|
||||
return;
|
||||
if (!AddCallback (&ClientStateCallback, glxClientCallback, 0))
|
||||
|
|
|
@ -217,7 +217,8 @@ KdUninstallColormap (ColormapPtr pCmap)
|
|||
return;
|
||||
|
||||
/* 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)
|
||||
(*pCmap->pScreen->InstallColormap)(defMap);
|
||||
else
|
||||
|
|
|
@ -508,8 +508,10 @@ vfbUninstallColormap(ColormapPtr pmap)
|
|||
{
|
||||
if (pmap->mid != pmap->pScreen->defColormap)
|
||||
{
|
||||
curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
|
||||
RT_COLORMAP);
|
||||
dixLookupResourceByType((pointer *)&curpmap,
|
||||
pmap->pScreen->defColormap,
|
||||
RT_COLORMAP, serverClient,
|
||||
DixInstallAccess);
|
||||
(*pmap->pScreen->InstallColormap)(curpmap);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -357,7 +357,8 @@ static __inline__ void stw_u(unsigned long r5, unsigned short * r11)
|
|||
# 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__)
|
||||
|
||||
|
|
|
@ -726,7 +726,7 @@ static OptionInfoRec FlagOptions[] = {
|
|||
{ FLAG_DONTVTSWITCH, "DontVTSwitch", OPTV_BOOLEAN,
|
||||
{0}, FALSE },
|
||||
{ FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN,
|
||||
{0}, TRUE },
|
||||
{0}, FALSE },
|
||||
{ FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN,
|
||||
{0}, FALSE },
|
||||
{ FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN,
|
||||
|
@ -834,8 +834,7 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
|
|||
|
||||
xf86GetOptValBool(FlagOptions, FLAG_NOTRAPSIGNALS, &xf86Info.notrapSignals);
|
||||
xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch);
|
||||
if (!xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap))
|
||||
xf86Info.dontZap = !party_like_its_1989;
|
||||
xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap);
|
||||
xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom);
|
||||
|
||||
xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI);
|
||||
|
@ -1227,7 +1226,7 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout)
|
|||
const char **driver = mousedrivers;
|
||||
confInput = xf86findInput(CONF_IMPLICIT_POINTER,
|
||||
xf86configptr->conf_input_lst);
|
||||
while (driver && !confInput) {
|
||||
while (*driver && !confInput) {
|
||||
confInput = xf86findInputByDriver(*driver,
|
||||
xf86configptr->conf_input_lst);
|
||||
driver++;
|
||||
|
|
|
@ -917,11 +917,6 @@ Bool
|
|||
xf86SetGamma(ScrnInfoPtr scrp, Gamma gamma)
|
||||
{
|
||||
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
|
||||
xf86MonPtr DDC = (xf86MonPtr)(scrp->monitor->DDC);
|
||||
#endif
|
||||
|
@ -953,6 +948,11 @@ xf86SetGamma(ScrnInfoPtr scrp, Gamma gamma)
|
|||
scrp->gamma.green = 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,
|
||||
"Using gamma correction (%.1f, %.1f, %.1f)\n",
|
||||
scrp->gamma.red, scrp->gamma.green, scrp->gamma.blue);
|
||||
|
|
|
@ -211,8 +211,8 @@ Bool xf86HandleColormaps(
|
|||
ComputeGamma(pScreenPriv);
|
||||
|
||||
/* get the default map */
|
||||
|
||||
pDefMap = (ColormapPtr) LookupIDByType(pScreen->defColormap, RT_COLORMAP);
|
||||
dixLookupResourceByType((pointer *)&pDefMap, pScreen->defColormap,
|
||||
RT_COLORMAP, serverClient, DixInstallAccess);
|
||||
|
||||
if(!CMapAllocateColormapPrivate(pDefMap)) {
|
||||
CMapUnwrapScreen(pScreen);
|
||||
|
|
|
@ -533,7 +533,7 @@ struct detailed_monitor_section {
|
|||
struct whitePoints wp[2]; /* 32 */
|
||||
/* color management data */
|
||||
struct cvt_timings cvt[4]; /* 64 */
|
||||
/* established timings III */
|
||||
Uchar est_iii[6]; /* 6 */
|
||||
} section; /* max: 80 */
|
||||
};
|
||||
|
||||
|
|
|
@ -3,22 +3,23 @@
|
|||
* Copyright 2007 Red Hat, 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
|
||||
* on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
* license, and/or sell copies of the Software, and to permit persons to whom
|
||||
* them Software is furnished to do so, subject to the following conditions:
|
||||
* 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 MERCHANTIBILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS 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.
|
||||
* 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.
|
||||
*
|
||||
* 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
|
||||
get_dt_md_section(Uchar *c, struct edid_version *ver,
|
||||
struct detailed_monitor_section *det_mon)
|
||||
|
@ -327,6 +330,7 @@ get_dt_md_section(Uchar *c, struct edid_version *ver,
|
|||
break;
|
||||
case ADD_EST_TIMINGS:
|
||||
det_mon[i].type = DS_EST_III;
|
||||
memcpy(det_mon[i].section.est_iii, c + 6, 6);
|
||||
break;
|
||||
case ADD_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;
|
||||
break;
|
||||
}
|
||||
if (c[3] <= 0x0F) {
|
||||
if (c[3] <= 0x0F && memcmp(c, empty_block, sizeof(empty_block))) {
|
||||
det_mon[i].type = DS_VENDOR + c[3];
|
||||
}
|
||||
} else {
|
||||
} else {
|
||||
det_mon[i].type = DT;
|
||||
get_detailed_timing_section(c,&det_mon[i].section.d_timings);
|
||||
}
|
||||
|
|
|
@ -3,22 +3,23 @@
|
|||
* Copyright 2007 Red Hat, 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
|
||||
* on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
* license, and/or sell copies of the Software, and to permit persons to whom
|
||||
* them Software is furnished to do so, subject to the following conditions:
|
||||
* 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 MERCHANTIBILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS 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.
|
||||
* 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.
|
||||
*
|
||||
* print_edid.c: print out all information retrieved from display device
|
||||
*/
|
||||
|
|
|
@ -420,6 +420,7 @@ static int
|
|||
ProcXDGAInstallColormap(ClientPtr client)
|
||||
{
|
||||
ColormapPtr cmap;
|
||||
int rc;
|
||||
REQUEST(xXDGAInstallColormapReq);
|
||||
|
||||
if (stuff->screen > screenInfo.numScreens)
|
||||
|
@ -430,13 +431,13 @@ ProcXDGAInstallColormap(ClientPtr client)
|
|||
|
||||
REQUEST_SIZE_MATCH(xXDGAInstallColormapReq);
|
||||
|
||||
cmap = (ColormapPtr)LookupIDByType(stuff->cmap, RT_COLORMAP);
|
||||
if (cmap) {
|
||||
rc = dixLookupResourceByType((pointer *)&cmap, stuff->cmap, RT_COLORMAP,
|
||||
client, DixInstallAccess);
|
||||
if (rc == Success) {
|
||||
DGAInstallCmap(cmap);
|
||||
return (client->noClientException);
|
||||
} else {
|
||||
client->errorValue = stuff->cmap;
|
||||
return (BadColor);
|
||||
return (rc == BadValue) ? BadColor : rc;
|
||||
}
|
||||
|
||||
return (client->noClientException);
|
||||
|
@ -858,6 +859,7 @@ static int
|
|||
ProcXF86DGAInstallColormap(ClientPtr client)
|
||||
{
|
||||
ColormapPtr pcmp;
|
||||
int rc;
|
||||
REQUEST(xXF86DGAInstallColormapReq);
|
||||
|
||||
if (stuff->screen > screenInfo.numScreens)
|
||||
|
@ -871,13 +873,13 @@ ProcXF86DGAInstallColormap(ClientPtr client)
|
|||
if (!DGAActive(stuff->screen))
|
||||
return (DGAErrorBase + XF86DGADirectNotActivated);
|
||||
|
||||
pcmp = (ColormapPtr )LookupIDByType(stuff->id, RT_COLORMAP);
|
||||
if (pcmp) {
|
||||
rc = dixLookupResourceByType((pointer *)&pcmp, stuff->id, RT_COLORMAP,
|
||||
client, DixInstallAccess);
|
||||
if (rc == Success) {
|
||||
DGAInstallCmap(pcmp);
|
||||
return (client->noClientException);
|
||||
} else {
|
||||
client->errorValue = stuff->id;
|
||||
return (BadColor);
|
||||
return (rc == BadValue) ? BadColor : rc;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1541,6 +1541,7 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client)
|
|||
{
|
||||
CARD16 *ramp = NULL;
|
||||
int n, length, i;
|
||||
size_t ramplen;
|
||||
xXF86VidModeGetGammaRampReply rep;
|
||||
REQUEST(xXF86VidModeGetGammaRampReq);
|
||||
|
||||
|
@ -1555,7 +1556,8 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client)
|
|||
length = (stuff->size + 1) & ~1;
|
||||
|
||||
if(stuff->size) {
|
||||
if(!(ramp = xalloc(length * 3 * sizeof(CARD16))))
|
||||
ramplen = length * 3 * sizeof(CARD16);
|
||||
if (!(ramp = xalloc(ramplen)))
|
||||
return BadAlloc;
|
||||
|
||||
if (!VidModeGetGammaRamp(stuff->screen, stuff->size,
|
||||
|
@ -1573,13 +1575,12 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client)
|
|||
swaps(&rep.sequenceNumber, n);
|
||||
swapl(&rep.length, n);
|
||||
swaps(&rep.size, n);
|
||||
for(i = 0; i < length * 3; i++)
|
||||
swaps(&ramp[i],n);
|
||||
SwapShorts(ramp, length * 3);
|
||||
}
|
||||
WriteToClient(client, sizeof(xXF86VidModeGetGammaRampReply), (char *)&rep);
|
||||
|
||||
if(stuff->size) {
|
||||
WriteToClient(client, rep.length << 2, (char*)ramp);
|
||||
WriteToClient(client, ramplen, (char*)ramp);
|
||||
xfree(ramp);
|
||||
}
|
||||
|
||||
|
@ -2060,7 +2061,6 @@ SProcXF86VidModeGetGamma(ClientPtr client)
|
|||
static int
|
||||
SProcXF86VidModeSetGammaRamp(ClientPtr client)
|
||||
{
|
||||
CARD16 *ramp;
|
||||
int length, n;
|
||||
REQUEST(xXF86VidModeSetGammaRampReq);
|
||||
swaps(&stuff->length, n);
|
||||
|
@ -2069,11 +2069,7 @@ SProcXF86VidModeSetGammaRamp(ClientPtr client)
|
|||
swaps(&stuff->screen, n);
|
||||
length = ((stuff->size + 1) & ~1) * 6;
|
||||
REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length);
|
||||
ramp = (CARD16*)&stuff[1];
|
||||
while(length--) {
|
||||
swaps(ramp, n);
|
||||
ramp++;
|
||||
}
|
||||
SwapRestS(stuff);
|
||||
return ProcXF86VidModeSetGammaRamp(client);
|
||||
}
|
||||
|
||||
|
|
|
@ -464,12 +464,11 @@ Default: off.
|
|||
.TP 7
|
||||
.BI "Option \*qDontZap\*q \*q" boolean \*q
|
||||
This disallows the use of the
|
||||
.B Ctrl+Alt+Backspace
|
||||
sequence.
|
||||
That sequence is normally used to terminate the __xservername__ server.
|
||||
When this option is enabled (as per default), that key sequence has no
|
||||
special meaning.
|
||||
Default: on.
|
||||
.B Terminate_Server
|
||||
XKB action (usually on Ctrl+Alt+Backspace, depending on XKB options).
|
||||
This action is normally used to terminate the __xservername__ server.
|
||||
When this option is enabled, the action has no effect.
|
||||
Default: off.
|
||||
.TP 7
|
||||
.BI "Option \*qDontZoom\*q \*q" boolean \*q
|
||||
This disallows the use of the
|
||||
|
|
|
@ -1363,11 +1363,12 @@ Bool
|
|||
DRIDrawablePrivDelete(pointer pResource, XID id)
|
||||
{
|
||||
WindowPtr pWin;
|
||||
int rc;
|
||||
|
||||
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);
|
||||
|
||||
if (!pDRIDrwPriv)
|
||||
|
|
|
@ -53,7 +53,7 @@ typedef struct _DRI2Drawable {
|
|||
unsigned int refCount;
|
||||
int width;
|
||||
int height;
|
||||
DRI2BufferPtr buffers;
|
||||
DRI2BufferPtr *buffers;
|
||||
int bufferCount;
|
||||
unsigned int pendingSequence;
|
||||
} DRI2DrawableRec, *DRI2DrawablePtr;
|
||||
|
@ -63,8 +63,8 @@ typedef struct _DRI2Screen {
|
|||
const char *deviceName;
|
||||
int fd;
|
||||
unsigned int lastSequence;
|
||||
DRI2CreateBuffersProcPtr CreateBuffers;
|
||||
DRI2DestroyBuffersProcPtr DestroyBuffers;
|
||||
DRI2CreateBufferProcPtr CreateBuffer;
|
||||
DRI2DestroyBufferProcPtr DestroyBuffer;
|
||||
DRI2CopyRegionProcPtr CopyRegion;
|
||||
|
||||
HandleExposuresProcPtr HandleExposures;
|
||||
|
@ -132,71 +132,135 @@ DRI2CreateDrawable(DrawablePtr pDraw)
|
|||
return Success;
|
||||
}
|
||||
|
||||
DRI2BufferPtr
|
||||
DRI2GetBuffers(DrawablePtr pDraw, int *width, int *height,
|
||||
unsigned int *attachments, int count, int *out_count)
|
||||
static int
|
||||
find_attachment(DRI2BufferPtr *buffer_list, int count, unsigned attachment)
|
||||
{
|
||||
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);
|
||||
DRI2DrawablePtr pPriv = DRI2GetDrawable(pDraw);
|
||||
DRI2BufferPtr buffers;
|
||||
unsigned int temp_buf[32];
|
||||
unsigned int *temp = temp_buf;
|
||||
DRI2BufferPtr *buffers;
|
||||
int need_real_front = 0;
|
||||
int need_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
|
||||
* 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;
|
||||
buffers = xalloc((count + 1) * sizeof(buffers[0]));
|
||||
|
||||
if ((count + 1) > 32) {
|
||||
temp = xalloc((count + 1) * sizeof(temp[0]));
|
||||
for (i = 0; i < count; i++) {
|
||||
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 (attachments[i] == DRI2BufferFrontLeft) {
|
||||
if (attachment == DRI2BufferFrontLeft) {
|
||||
need_real_front--;
|
||||
front_format = format;
|
||||
|
||||
if (pDraw->type == DRAWABLE_WINDOW) {
|
||||
need_fake_front++;
|
||||
}
|
||||
}
|
||||
|
||||
if (attachments[i] == DRI2BufferFakeFrontLeft) {
|
||||
if (pDraw->type == DRAWABLE_WINDOW) {
|
||||
if (attachment == DRI2BufferFakeFrontLeft) {
|
||||
need_fake_front--;
|
||||
have_fake_front = 1;
|
||||
}
|
||||
|
||||
temp[i] = attachments[i];
|
||||
}
|
||||
|
||||
if (need_fake_front > 0) {
|
||||
temp[i] = DRI2BufferFakeFrontLeft;
|
||||
count++;
|
||||
have_fake_front = 1;
|
||||
attachments = temp;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (pPriv->buffers == NULL ||
|
||||
pDraw->width != pPriv->width || pDraw->height != pPriv->height)
|
||||
{
|
||||
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 (need_real_front > 0) {
|
||||
buffers[i++] = allocate_or_reuse_buffer(pDraw, ds, pPriv,
|
||||
DRI2BufferFrontLeft,
|
||||
front_format, dimensions_match);
|
||||
}
|
||||
|
||||
if (temp != temp_buf) {
|
||||
xfree(temp);
|
||||
if (need_fake_front > 0) {
|
||||
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;
|
||||
*height = pPriv->height;
|
||||
*out_count = pPriv->bufferCount;
|
||||
|
||||
|
||||
/* 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;
|
||||
}
|
||||
|
||||
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
|
||||
DRI2CopyRegion(DrawablePtr pDraw, RegionPtr pRegion,
|
||||
unsigned int dest, unsigned int src)
|
||||
|
@ -237,10 +317,10 @@ DRI2CopyRegion(DrawablePtr pDraw, RegionPtr pRegion,
|
|||
pSrcBuffer = NULL;
|
||||
for (i = 0; i < pPriv->bufferCount; i++)
|
||||
{
|
||||
if (pPriv->buffers[i].attachment == dest)
|
||||
pDestBuffer = &pPriv->buffers[i];
|
||||
if (pPriv->buffers[i].attachment == src)
|
||||
pSrcBuffer = &pPriv->buffers[i];
|
||||
if (pPriv->buffers[i]->attachment == dest)
|
||||
pDestBuffer = pPriv->buffers[i];
|
||||
if (pPriv->buffers[i]->attachment == src)
|
||||
pSrcBuffer = pPriv->buffers[i];
|
||||
}
|
||||
if (pSrcBuffer == NULL || pDestBuffer == NULL)
|
||||
return BadValue;
|
||||
|
@ -266,7 +346,16 @@ DRI2DestroyDrawable(DrawablePtr pDraw)
|
|||
if (pPriv->refCount > 0)
|
||||
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);
|
||||
|
||||
if (pDraw->type == DRAWABLE_WINDOW)
|
||||
|
@ -320,11 +409,18 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info)
|
|||
if (!ds)
|
||||
return FALSE;
|
||||
|
||||
if ((info->version < 2)
|
||||
|| (info->CreateBuffer == NULL)
|
||||
|| (info->DestroyBuffer == NULL)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
ds->fd = info->fd;
|
||||
ds->driverName = info->driverName;
|
||||
ds->deviceName = info->deviceName;
|
||||
ds->CreateBuffers = info->CreateBuffers;
|
||||
ds->DestroyBuffers = info->DestroyBuffers;
|
||||
ds->CreateBuffer = info->CreateBuffer;
|
||||
ds->DestroyBuffer = info->DestroyBuffer;
|
||||
ds->CopyRegion = info->CopyRegion;
|
||||
|
||||
dixSetPrivate(&pScreen->devPrivates, dri2ScreenPrivateKey, ds);
|
||||
|
@ -371,7 +467,7 @@ static XF86ModuleVersionInfo DRI2VersRec =
|
|||
MODINFOSTRING1,
|
||||
MODINFOSTRING2,
|
||||
XORG_VERSION_CURRENT,
|
||||
1, 0, 0,
|
||||
1, 1, 0,
|
||||
ABI_CLASS_EXTENSION,
|
||||
ABI_EXTENSION_VERSION,
|
||||
MOD_CLASS_NONE,
|
||||
|
@ -380,3 +476,12 @@ static XF86ModuleVersionInfo DRI2VersRec =
|
|||
|
||||
_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 cpp;
|
||||
unsigned int flags;
|
||||
unsigned int format;
|
||||
void *driverPrivate;
|
||||
} DRI2BufferRec, *DRI2BufferPtr;
|
||||
|
||||
|
@ -58,8 +59,19 @@ typedef void (*DRI2CopyRegionProcPtr)(DrawablePtr pDraw,
|
|||
typedef void (*DRI2WaitProcPtr)(WindowPtr pWin,
|
||||
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 {
|
||||
unsigned int version; /* Version of this struct */
|
||||
unsigned int version; /**< Version of this struct */
|
||||
int fd;
|
||||
const char *driverName;
|
||||
const char *deviceName;
|
||||
|
@ -69,6 +81,14 @@ typedef struct {
|
|||
DRI2CopyRegionProcPtr CopyRegion;
|
||||
DRI2WaitProcPtr Wait;
|
||||
|
||||
/**
|
||||
* \name Fields added in version 2 of the structure.
|
||||
*/
|
||||
/*@{*/
|
||||
DRI2CreateBufferProcPtr CreateBuffer;
|
||||
DRI2DestroyBufferProcPtr DestroyBuffer;
|
||||
/*@}*/
|
||||
|
||||
} DRI2InfoRec, *DRI2InfoPtr;
|
||||
|
||||
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 DRI2BufferPtr DRI2GetBuffers(DrawablePtr pDraw,
|
||||
extern _X_EXPORT DRI2BufferPtr *DRI2GetBuffers(DrawablePtr pDraw,
|
||||
int *width,
|
||||
int *height,
|
||||
unsigned int *attachments,
|
||||
|
@ -100,4 +120,26 @@ extern _X_EXPORT int DRI2CopyRegion(DrawablePtr pDraw,
|
|||
unsigned int dest,
|
||||
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
|
||||
|
|
|
@ -80,7 +80,7 @@ ProcDRI2QueryVersion(ClientPtr client)
|
|||
rep.length = 0;
|
||||
rep.sequenceNumber = client->sequence;
|
||||
rep.majorVersion = 1;
|
||||
rep.minorVersion = 0;
|
||||
rep.minorVersion = 1;
|
||||
|
||||
if (client->swapped) {
|
||||
swaps(&rep.sequenceNumber, n);
|
||||
|
@ -192,32 +192,20 @@ ProcDRI2DestroyDrawable(ClientPtr client)
|
|||
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;
|
||||
DrawablePtr pDrawable;
|
||||
DRI2BufferPtr buffers;
|
||||
int i, status, width, height, count;
|
||||
unsigned int *attachments;
|
||||
xDRI2Buffer buffer;
|
||||
int skip;
|
||||
int skip = 0;
|
||||
int i;
|
||||
|
||||
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) {
|
||||
for (i = 0; i < count; i++) {
|
||||
/* Do not send the real front buffer of a window to the client.
|
||||
*/
|
||||
if (buffers[i].attachment == DRI2BufferFrontLeft) {
|
||||
if (buffers[i]->attachment == DRI2BufferFrontLeft) {
|
||||
skip++;
|
||||
continue;
|
||||
}
|
||||
|
@ -233,20 +221,66 @@ ProcDRI2GetBuffers(ClientPtr client)
|
|||
WriteToClient(client, sizeof(xDRI2GetBuffersReply), &rep);
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
xDRI2Buffer buffer;
|
||||
|
||||
/* Do not send the real front buffer of a window to the client.
|
||||
*/
|
||||
if ((pDrawable->type == DRAWABLE_WINDOW)
|
||||
&& (buffers[i].attachment == DRI2BufferFrontLeft)) {
|
||||
&& (buffers[i]->attachment == DRI2BufferFrontLeft)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
buffer.attachment = buffers[i].attachment;
|
||||
buffer.name = buffers[i].name;
|
||||
buffer.pitch = buffers[i].pitch;
|
||||
buffer.cpp = buffers[i].cpp;
|
||||
buffer.flags = buffers[i].flags;
|
||||
buffer.attachment = buffers[i]->attachment;
|
||||
buffer.name = buffers[i]->name;
|
||||
buffer.pitch = buffers[i]->pitch;
|
||||
buffer.cpp = buffers[i]->cpp;
|
||||
buffer.flags = buffers[i]->flags;
|
||||
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;
|
||||
}
|
||||
|
@ -313,6 +347,8 @@ ProcDRI2Dispatch (ClientPtr client)
|
|||
return ProcDRI2GetBuffers(client);
|
||||
case X_DRI2CopyRegion:
|
||||
return ProcDRI2CopyRegion(client);
|
||||
case X_DRI2GetBuffersWithFormat:
|
||||
return ProcDRI2GetBuffersWithFormat(client);
|
||||
default:
|
||||
return BadRequest;
|
||||
}
|
||||
|
|
|
@ -223,7 +223,7 @@ LoaderOpen(const char *module, const char *cname, int handle,
|
|||
* Find a free handle.
|
||||
*/
|
||||
new_handle = 1;
|
||||
while (refCount[new_handle] && new_handle < MAX_HANDLE)
|
||||
while (new_handle < MAX_HANDLE && refCount[new_handle])
|
||||
new_handle++;
|
||||
|
||||
if (new_handle == MAX_HANDLE) {
|
||||
|
|
|
@ -399,7 +399,7 @@ BEGIN {
|
|||
sub(/[^a-zA-Z0-9_].*/, "", symbol);
|
||||
|
||||
#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. */
|
||||
if (!crtc->active)
|
||||
if (crtc->active)
|
||||
crtc->funcs->gamma_set(crtc, crtc->gamma_red, crtc->gamma_green,
|
||||
crtc->gamma_blue, crtc->gamma_size);
|
||||
|
||||
|
@ -2228,19 +2228,19 @@ xf86CrtcSetInitialGamma(xf86CrtcPtr crtc, float gamma_red, float gamma_green,
|
|||
red[i] = i << 8;
|
||||
else
|
||||
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)
|
||||
green[i] = i << 8;
|
||||
else
|
||||
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)
|
||||
blue[i] = i << 8;
|
||||
else
|
||||
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. */
|
||||
|
@ -2549,18 +2549,23 @@ Bool
|
|||
xf86SetDesiredModes (ScrnInfoPtr scrn)
|
||||
{
|
||||
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||
xf86CrtcPtr crtc = config->crtc[0];
|
||||
int c;
|
||||
|
||||
xf86PrepareOutputs(scrn);
|
||||
xf86PrepareCrtcs(scrn);
|
||||
/* A driver with this hook will take care of this */
|
||||
if (!crtc->funcs->set_mode_major) {
|
||||
xf86PrepareOutputs(scrn);
|
||||
xf86PrepareCrtcs(scrn);
|
||||
}
|
||||
|
||||
for (c = 0; c < config->num_crtc; c++)
|
||||
{
|
||||
xf86CrtcPtr crtc = config->crtc[c];
|
||||
xf86OutputPtr output = NULL;
|
||||
int o;
|
||||
RRTransformPtr transform;
|
||||
|
||||
crtc = config->crtc[c];
|
||||
|
||||
/* Skip disabled CRTCs */
|
||||
if (!crtc->enabled)
|
||||
continue;
|
||||
|
|
|
@ -160,6 +160,11 @@ static Bool quirk_detailed_v_in_cm (int scrnIndex, xf86MonPtr DDC)
|
|||
DDC->vendor.prod_id == 47360)
|
||||
return TRUE;
|
||||
|
||||
/* Bug #21750: Samsung Syncmaster 2333HD */
|
||||
if (memcmp (DDC->vendor.name, "SAM", 4) == 0 &&
|
||||
DDC->vendor.prod_id == 1157)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -636,6 +641,85 @@ DDCModesFromCVT(int scrnIndex, struct cvt_timings *t)
|
|||
}
|
||||
#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
|
||||
|
@ -806,6 +890,7 @@ xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC)
|
|||
for (i = 0; i < DET_TIMINGS; i++) {
|
||||
struct detailed_monitor_section *det_mon = &DDC->det_mon[i];
|
||||
|
||||
Mode = NULL;
|
||||
switch (det_mon->type) {
|
||||
case DT:
|
||||
Mode = DDCModeFromDetailedTiming(scrnIndex,
|
||||
|
@ -813,22 +898,23 @@ xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC)
|
|||
preferred,
|
||||
quirks);
|
||||
preferred = FALSE;
|
||||
Modes = xf86ModesAdd(Modes, Mode);
|
||||
break;
|
||||
case DS_STD_TIMINGS:
|
||||
Mode = DDCModesFromStandardTiming(det_mon->section.std_t,
|
||||
quirks, timing_level, rb);
|
||||
Modes = xf86ModesAdd(Modes, Mode);
|
||||
break;
|
||||
#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
|
||||
case DS_CVT:
|
||||
Mode = DDCModesFromCVT(scrnIndex, det_mon->section.cvt);
|
||||
Modes = xf86ModesAdd(Modes, Mode);
|
||||
break;
|
||||
#endif
|
||||
case DS_EST_III:
|
||||
Mode = DDCModesFromEstIII(det_mon->section.est_iii);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
Modes = xf86ModesAdd(Modes, Mode);
|
||||
}
|
||||
|
||||
/* Add established timings */
|
||||
|
|
|
@ -55,6 +55,13 @@ typedef struct _xf86RandR12Info {
|
|||
int pointerY;
|
||||
Rotation rotation; /* current mode */
|
||||
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;
|
||||
|
||||
#ifdef RANDR_12_INTERFACE
|
||||
|
@ -1703,7 +1710,7 @@ gamma_to_ramp(float gamma, CARD16 *ramp, int size)
|
|||
if (gamma == 1.0)
|
||||
ramp[i] = i << 8;
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@ -1740,14 +1747,31 @@ xf86RandR12ChangeGamma(int scrnIndex, Gamma gamma)
|
|||
|
||||
xfree(points);
|
||||
|
||||
pScrn->gamma = gamma;
|
||||
|
||||
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
|
||||
xf86RandR12Init12 (ScreenPtr pScreen)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
|
||||
rrScrPrivPtr rp = rrGetScrPriv(pScreen);
|
||||
XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen);
|
||||
|
||||
rp->rrGetInfo = xf86RandR12GetInfo12;
|
||||
rp->rrScreenSetSize = xf86RandR12ScreenSetSize;
|
||||
|
@ -1765,6 +1789,10 @@ xf86RandR12Init12 (ScreenPtr pScreen)
|
|||
rp->rrSetConfig = NULL;
|
||||
pScrn->PointerMoved = xf86RandR12PointerMoved;
|
||||
pScrn->ChangeGamma = xf86RandR12ChangeGamma;
|
||||
|
||||
randrp->orig_EnterVT = pScrn->EnterVT;
|
||||
pScrn->EnterVT = xf86RandR12EnterVT;
|
||||
|
||||
if (!xf86RandR12CreateObjects12 (pScreen))
|
||||
return FALSE;
|
||||
|
||||
|
|
|
@ -168,7 +168,8 @@
|
|||
|
||||
#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__)
|
||||
#define ARCH_PCI_INIT bsdPciInit
|
||||
#endif
|
||||
|
|
|
@ -63,6 +63,10 @@
|
|||
# include "xf86_OSlib.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
|
||||
* functional or not.
|
||||
|
@ -139,6 +143,7 @@ xf86InstallSIGIOHandler(int fd, void (*f)(int, void *), void *closure)
|
|||
struct sigaction osa;
|
||||
int i;
|
||||
int blocked;
|
||||
int installed = FALSE;
|
||||
|
||||
for (i = 0; i < MAX_FUNCS; i++)
|
||||
{
|
||||
|
@ -147,15 +152,30 @@ xf86InstallSIGIOHandler(int fd, void (*f)(int, void *), void *closure)
|
|||
if (xf86IsPipe (fd))
|
||||
return 0;
|
||||
blocked = xf86BlockSIGIO();
|
||||
#ifdef O_ASYNC
|
||||
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));
|
||||
xf86UnblockSIGIO(blocked);
|
||||
return 0;
|
||||
} else {
|
||||
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) {
|
||||
xf86Msg(X_WARNING, "fcntl(%d, F_SETOWN): %s\n",
|
||||
fd, strerror(errno));
|
||||
#endif
|
||||
#ifdef I_SETSIG /* System V Streams - used on Solaris for input devices */
|
||||
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);
|
||||
return 0;
|
||||
}
|
||||
|
@ -221,7 +241,17 @@ xf86RemoveSIGIOHandler(int fd)
|
|||
}
|
||||
if (ret)
|
||||
{
|
||||
#ifdef 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;
|
||||
xf86SigIOMaxFd = maxfd;
|
||||
if (!max)
|
||||
|
|
|
@ -43,7 +43,8 @@
|
|||
/* Avoid Imakefile changes */
|
||||
#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__)
|
||||
#define xf86StdAccResFromOS xf86AccResFromOS
|
||||
#endif
|
||||
|
|
|
@ -4,12 +4,11 @@ else
|
|||
VTSW_SRC = $(srcdir)/../shared/VTsw_noop.c
|
||||
endif
|
||||
|
||||
# TODO: Don't build agpgart on SPARC
|
||||
#if defined(i386Architecture) || defined(AMD64Architecture)
|
||||
if AGP
|
||||
AGP_SRC = sun_agp.c
|
||||
#else
|
||||
#AGP_SRC = $(srcdir)/../shared/agp_noop.c
|
||||
#endif
|
||||
else
|
||||
AGP_SRC = $(srcdir)/../shared/agp_noop.c
|
||||
endif
|
||||
|
||||
SOLARIS_INOUT_SRC = solaris-@SOLARIS_INOUT_ARCH@.S
|
||||
DISTCLEANFILES = solaris-@SOLARIS_INOUT_ARCH@.il
|
||||
|
@ -21,13 +20,14 @@ noinst_LTLIBRARIES = libsolaris.la
|
|||
libsolaris_la_SOURCES = sun_init.c \
|
||||
sun_vid.c sun_bell.c $(AGP_SRC) sun_apm.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/vidmem.c \
|
||||
$(VTSW_SRC)
|
||||
nodist_libsolaris_la_SOURCES = $(SOLARIS_INOUT_SRC)
|
||||
|
||||
sdk_HEADERS = agpgart.h
|
||||
sdk_HEADERS =
|
||||
nodist_sdk_HEADERS = solaris-@SOLARIS_INOUT_ARCH@.il
|
||||
|
||||
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
|
||||
#include <sys/asm_linkage.h>
|
||||
#define FUNCTION_START(f,n) ENTRY(f)
|
||||
#define FUNCTION_END(f) SET_SIZE(f)
|
||||
#define FUNCTION_END(f) ret; SET_SIZE(f)
|
||||
#endif
|
||||
|
||||
FUNCTION_START(inb,4)
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#define _ASM
|
||||
#include <sys/asm_linkage.h>
|
||||
#define FUNCTION_START(f,n) ENTRY(f)
|
||||
#define FUNCTION_END(f) SET_SIZE(f)
|
||||
#define FUNCTION_END(f) ret; SET_SIZE(f)
|
||||
#endif
|
||||
|
||||
FUNCTION_START(inb,4)
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
#define _ASM
|
||||
#include <sys/asm_linkage.h>
|
||||
#define FUNCTION_START(f,n) ENTRY(f)
|
||||
#define FUNCTION_END(f) SET_SIZE(f)
|
||||
#define FUNCTION_END(f) retl; nop; SET_SIZE(f)
|
||||
#endif
|
||||
|
||||
/* Converted from common/compiler.h gcc inline format to Sun cc inline
|
||||
|
|
|
@ -34,8 +34,6 @@
|
|||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
#pragma ident "@(#)sun_agp.c 1.1 05/04/04 SMI"
|
||||
|
||||
#ifdef HAVE_XORG_CONFIG_H
|
||||
#include <xorg-config.h>
|
||||
#endif
|
||||
|
@ -49,11 +47,8 @@
|
|||
#include <sys/ioccom.h>
|
||||
#include <sys/types.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. */
|
||||
#ifndef AGP_PAGE_SIZE
|
||||
#define AGP_PAGE_SIZE 4096
|
||||
|
|
|
@ -277,8 +277,8 @@ vgaUninstallColormap(pmap)
|
|||
if ( pmap != miInstalledMaps[pmap->pScreen->myNum] )
|
||||
return;
|
||||
|
||||
defColormap = (ColormapPtr) LookupIDByType( pmap->pScreen->defColormap,
|
||||
RT_COLORMAP);
|
||||
dixLookupResourceByType((pointer *)&defColormap, pmap->pScreen->defColormap,
|
||||
RT_COLORMAP, serverClient, DixInstallAccess);
|
||||
|
||||
if (defColormap == miInstalledMaps[pmap->pScreen->myNum])
|
||||
return;
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
* 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
|
||||
* on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
* license, 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 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
|
||||
|
@ -14,10 +14,11 @@
|
|||
*
|
||||
* 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 NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS 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.
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef _CFB8_16_H
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
* 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
|
||||
* on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
* license, 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 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
|
||||
|
@ -14,10 +14,11 @@
|
|||
*
|
||||
* 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 NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS 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.
|
||||
* 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_XORG_CONFIG_H
|
||||
|
|
|
@ -242,16 +242,16 @@ xnestSetInstalledColormapWindows(ScreenPtr pScreen)
|
|||
WindowPtr pWin;
|
||||
Visual *visual;
|
||||
ColormapPtr pCmap;
|
||||
|
||||
|
||||
pWin = xnestWindowPtr(icws.windows[0]);
|
||||
visual = xnestVisualFromID(pScreen, wVisual(pWin));
|
||||
|
||||
if (visual == xnestDefaultVisual(pScreen))
|
||||
pCmap = (ColormapPtr)LookupIDByType(wColormap(pWin),
|
||||
RT_COLORMAP);
|
||||
dixLookupResourceByType((pointer *)&pCmap, wColormap(pWin),
|
||||
RT_COLORMAP, serverClient, DixUseAccess);
|
||||
else
|
||||
pCmap = (ColormapPtr)LookupIDByType(pScreen->defColormap,
|
||||
RT_COLORMAP);
|
||||
dixLookupResourceByType((pointer *)&pCmap, pScreen->defColormap,
|
||||
RT_COLORMAP, serverClient, DixUseAccess);
|
||||
|
||||
XSetWindowColormap(xnestDisplay,
|
||||
xnestDefaultWindows[pScreen->myNum],
|
||||
|
@ -302,7 +302,8 @@ xnestDirectInstallColormaps(ScreenPtr pScreen)
|
|||
for (i = 0; i < n; i++) {
|
||||
ColormapPtr pCmap;
|
||||
|
||||
pCmap = (ColormapPtr)LookupIDByType(pCmapIDs[i], RT_COLORMAP);
|
||||
dixLookupResourceByType((pointer *)&pCmap, pCmapIDs[i], RT_COLORMAP,
|
||||
serverClient, DixInstallAccess);
|
||||
if (pCmap)
|
||||
XInstallColormap(xnestDisplay, xnestColormap(pCmap));
|
||||
}
|
||||
|
@ -321,7 +322,8 @@ xnestDirectUninstallColormaps(ScreenPtr pScreen)
|
|||
for (i = 0; i < n; i++) {
|
||||
ColormapPtr pCmap;
|
||||
|
||||
pCmap = (ColormapPtr)LookupIDByType(pCmapIDs[i], RT_COLORMAP);
|
||||
dixLookupResourceByType((pointer *)&pCmap, pCmapIDs[i], RT_COLORMAP,
|
||||
serverClient, DixUninstallAccess);
|
||||
if (pCmap)
|
||||
XUninstallColormap(xnestDisplay, xnestColormap(pCmap));
|
||||
}
|
||||
|
@ -365,8 +367,10 @@ xnestUninstallColormap(ColormapPtr pCmap)
|
|||
{
|
||||
if (pCmap->mid != pCmap->pScreen->defColormap)
|
||||
{
|
||||
pCurCmap = (ColormapPtr)LookupIDByType(pCmap->pScreen->defColormap,
|
||||
RT_COLORMAP);
|
||||
dixLookupResourceByType((pointer *)&pCurCmap,
|
||||
pCmap->pScreen->defColormap,
|
||||
RT_COLORMAP,
|
||||
serverClient, DixInstallAccess);
|
||||
(*pCmap->pScreen->InstallColormap)(pCurCmap);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -93,7 +93,8 @@ xnestCreateWindow(WindowPtr pWin)
|
|||
visual = xnestVisualFromID(pWin->drawable.pScreen, wVisual(pWin));
|
||||
mask |= CWColormap;
|
||||
if (pWin->optional->colormap) {
|
||||
pCmap = (ColormapPtr)LookupIDByType(wColormap(pWin), RT_COLORMAP);
|
||||
dixLookupResourceByType((pointer *)&pCmap, wColormap(pWin),
|
||||
RT_COLORMAP, serverClient, DixUseAccess);
|
||||
attributes.colormap = xnestColormap(pCmap);
|
||||
}
|
||||
else
|
||||
|
@ -104,7 +105,8 @@ xnestCreateWindow(WindowPtr pWin)
|
|||
}
|
||||
else { /* root windows have their own colormaps at creation time */
|
||||
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;
|
||||
attributes.colormap = xnestColormap(pCmap);
|
||||
}
|
||||
|
@ -338,7 +340,8 @@ xnestChangeWindowAttributes(WindowPtr pWin, unsigned long mask)
|
|||
if (mask & CWColormap) {
|
||||
ColormapPtr pCmap;
|
||||
|
||||
pCmap = (ColormapPtr)LookupIDByType(wColormap(pWin), RT_COLORMAP);
|
||||
dixLookupResourceByType((pointer *)&pCmap, wColormap(pWin), RT_COLORMAP,
|
||||
serverClient, DixUseAccess);
|
||||
|
||||
attributes.colormap = xnestColormap(pCmap);
|
||||
|
||||
|
|
|
@ -9,6 +9,6 @@
|
|||
<key>LprojRevisionLevel</key>
|
||||
<string>1</string>
|
||||
<key>LprojVersion</key>
|
||||
<string>73</string>
|
||||
<string>83</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -1,18 +1,17 @@
|
|||
<?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>
|
||||
<int key="IBDocument.SystemTarget">1050</int>
|
||||
<string key="IBDocument.SystemVersion">10A222</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">708</string>
|
||||
<string key="IBDocument.AppKitVersion">994.5</string>
|
||||
<string key="IBDocument.HIToolboxVersion">404.00</string>
|
||||
<string key="IBDocument.SystemVersion">10A314</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">718</string>
|
||||
<string key="IBDocument.AppKitVersion">1013</string>
|
||||
<string key="IBDocument.HIToolboxVersion">415.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>
|
||||
<string key="NS.object.0">718</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="348"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -20,7 +19,7 @@
|
|||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
|
@ -194,7 +193,7 @@
|
|||
</object>
|
||||
<object class="NSMenuItem" id="868031522">
|
||||
<reference key="NSMenu" ref="524015605"/>
|
||||
<string type="base64-UTF8" key="NSTitle">UHJvZ3JhbW1hJ3M</string>
|
||||
<string key="NSTitle">Programma's</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -202,7 +201,7 @@
|
|||
<reference key="NSMixedImage" ref="351811234"/>
|
||||
<string key="NSAction">submenuAction:</string>
|
||||
<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">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMenuItem" id="390088328">
|
||||
|
@ -398,10 +397,10 @@
|
|||
<object class="NSMutableString" key="NSViewClass">
|
||||
<characters key="NS.bytes">View</characters>
|
||||
</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>
|
||||
<object class="NSView" key="NSWindowView" id="941366957">
|
||||
<reference key="NSNextResponder"/>
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -461,9 +460,7 @@
|
|||
<object class="NSTextFieldCell" key="NSCell" id="391919450">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">QWxzIHUgZGV6ZSBvcHRpZSBpbnNjaGFrZWx0LCBrYW4gaGV0IGdlYnJ1aWsgdmFuIHRvZXRzY29tYmlu
|
||||
YXRpZXMgdm9vciBtZW51Y29tbWFkbydzIGNvbmZsaWN0ZXJlbiBtZXQgWDExLXByb2dyYW1tYSdzIGRp
|
||||
ZSBkZSBNZXRhLW1vZGlmaWVyIGdlYnJ1aWtlbi4</string>
|
||||
<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>
|
||||
<object class="NSFont" key="NSSupport" id="26">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">11</double>
|
||||
|
@ -475,9 +472,9 @@ ZSBkZSBNZXRhLW1vZGlmaWVyIGdlYnJ1aWtlbi4</string>
|
|||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</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>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor" id="930815747">
|
||||
|
@ -619,9 +616,7 @@ ZW4uCg</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="624655599">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">Vm9vciBYMTEtZ2VsdWlkc3NpZ25hbGVuIHdvcmR0IGhldCB3YWFyc2NodXdpbmdzc2lnbmFhbCB2YW4g
|
||||
aGV0IHN5c3RlZW0gZ2VicnVpa3QsIHpvYWxzIGluZ2VzdGVsZCBpbiBoZXQgdGFiYmxhZCAnR2VsdWlk
|
||||
c2VmZmVjdGVuJyB2YW4gaGV0IHN5c3RlZW12b29ya2V1cmVucGFuZWVsICdHZWx1aWQnLg</string>
|
||||
<string key="NSContents">Voor X11-geluidssignalen wordt het waarschuwingssignaal van het systeem gebruikt, zoals ingesteld in het tabblad 'Geluidseffecten' van het systeemvoorkeurenpaneel 'Geluid'.</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<string key="NSPlaceholderString"/>
|
||||
<reference key="NSControlView" ref="1039016593"/>
|
||||
|
@ -861,9 +856,7 @@ c2VmZmVjdGVuJyB2YW4gaGV0IHN5c3RlZW12b29ya2V1cmVucGFuZWVsICdHZWx1aWQnLg</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="572508492">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">SGllcm1lZSBzY2hha2VsdCB1IGhldCBtZW51b25kZXJkZWVsICJrb3BpZWVyIiBpbiBlbiBtYWFrdCB1
|
||||
IHN5bmNocm9uaXNhdGllIG1vZ2VsaWprIHR1c3NlbiBoZXQga2xlbWJvcmQgdmFuIE9TIFggZW4gZGUg
|
||||
Q0xJUEJPQVJELSBlbiBQUklNQVJZLWJ1ZmZlciB2YW4gWDExLg</string>
|
||||
<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>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="386152084"/>
|
||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||
|
@ -983,8 +976,7 @@ Q0xJUEJPQVJELSBlbiBQUklNQVJZLWJ1ZmZlciB2YW4gWDExLg</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="994587858">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">VmFud2VnZSBiZXBlcmtpbmdlbiBpbiBoZXQgWDExLXByb3RvY29sIHdlcmt0IGRlemUgb3B0aWUgbW9n
|
||||
ZWxpamsgbmlldCBhbHRpamQgaW4gYWxsZSBwcm9ncmFtbWEncy4</string>
|
||||
<string key="NSContents">Vanwege beperkingen in het X11-protocol werkt deze optie mogelijk niet altijd in alle programma's.</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="522511724"/>
|
||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||
|
@ -1114,7 +1106,7 @@ ZWxpamsgbmlldCBhbHRpamQgaW4gYWxsZSBwcm9ncmFtbWEncy4</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="989804990">
|
||||
<int key="NSCellFlags">67239424</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="NSControlView" ref="57161931"/>
|
||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||
|
@ -1187,10 +1179,7 @@ ZWxpamsgbmlldCBhbHRpamQgaW4gYWxsZSBwcm9ncmFtbWEncy4</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="53243865">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">V2FubmVlciB1IFgxMSBzdGFydCwgd29yZGVuIGVyIFhhdXRob3JpdHktdG9lZ2FuZ3Njb250cm9sZXNs
|
||||
ZXV0ZWxzIGFhbmdlbWFha3QuIEFscyBoZXQgSVAtYWRyZXMgdmFuIGhldCBzeXN0ZWVtIHdvcmR0IGdl
|
||||
d2lqemlnZCwgd29yZGVuIGRlemUgdG9ldHNlbiBvbmdlbGRpZyB3YWFyZG9vciBoZXQgbW9nZWxpamsg
|
||||
aXMgZGF0IFgxMS1wcm9ncmFtbWEncyBuaWV0IGt1bm5lbiB3b3JkZW4gZ2VzdGFydC4</string>
|
||||
<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>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<string key="NSPlaceholderString"/>
|
||||
<reference key="NSControlView" ref="168436707"/>
|
||||
|
@ -1207,10 +1196,7 @@ aXMgZGF0IFgxMS1wcm9ncmFtbWEncyBuaWV0IGt1bm5lbiB3b3JkZW4gZ2VzdGFydC4</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="390084685">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">QWxzIHUgZGV6ZSBvcHRpZSBpbnNjaGFrZWx0LCBtb2V0ICdWb2VyIGlkZW50aXRlaXRzY29udHJvbGUg
|
||||
dWl0IHZvb3IgdmVyYmluZGluZ2VuJyBvb2sgd29yZGVuIGluZ2VzY2hha2VsZCB0ZXIgYmV2ZWlsaWdp
|
||||
bmcgdmFuIGhldCBzeXN0ZWVtLiBBbHMgZGV6ZSBvcHRpZSBpcyB1aXRnZXNjaGFrZWxkLCB3b3JkZW4g
|
||||
dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
||||
<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>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<string key="NSPlaceholderString"/>
|
||||
<reference key="NSControlView" ref="363817195"/>
|
||||
|
@ -1255,11 +1241,10 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{564, 308}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</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>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="604417141">
|
||||
|
@ -1272,7 +1257,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<object class="NSMutableString" key="NSViewClass">
|
||||
<characters key="NS.bytes">View</characters>
|
||||
</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>
|
||||
<object class="NSView" key="NSWindowView" id="85544634">
|
||||
<nil key="NSNextResponder"/>
|
||||
|
@ -1361,8 +1346,8 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<double key="NSMinWidth">62.730998992919922</double>
|
||||
<double key="NSMaxWidth">1000</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
<int key="NSCellFlags">75628032</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<int key="NSCellFlags">75628096</int>
|
||||
<int key="NSCellFlags2">2048</int>
|
||||
<string key="NSContents">Naam</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<object class="NSColor" key="NSBackgroundColor" id="113872566">
|
||||
|
@ -1399,8 +1384,8 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<double key="NSMinWidth">40</double>
|
||||
<double key="NSMaxWidth">1000</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
<int key="NSCellFlags">75628032</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<int key="NSCellFlags">75628096</int>
|
||||
<int key="NSCellFlags2">2048</int>
|
||||
<string key="NSContents">Commando</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSBackgroundColor" ref="113872566"/>
|
||||
|
@ -1426,8 +1411,8 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<double key="NSMinWidth">10</double>
|
||||
<double key="NSMaxWidth">1000</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<int key="NSCellFlags">75628096</int>
|
||||
<int key="NSCellFlags2">2048</int>
|
||||
<string key="NSContents">Toetsen</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<object class="NSColor" key="NSBackgroundColor">
|
||||
|
@ -1454,7 +1439,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlBackgroundColor</string>
|
||||
<reference key="NSColor" ref="891756173"/>
|
||||
<reference key="NSColor" ref="925765112"/>
|
||||
</object>
|
||||
<reference key="NSTextColor" ref="930815747"/>
|
||||
</object>
|
||||
|
@ -1484,6 +1469,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<int key="NSDraggingSourceMaskForLocal">-1</int>
|
||||
<int key="NSDraggingSourceMaskForNonLocal">0</int>
|
||||
<bool key="NSAllowsTypeSelect">YES</bool>
|
||||
<int key="NSTableViewDraggingDestinationStyle">0</int>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrame">{{1, 17}, {301, 198}}</string>
|
||||
|
@ -1567,7 +1553,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</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>
|
||||
</object>
|
||||
<object class="NSMenu" id="294137138">
|
||||
|
@ -1587,7 +1573,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
</object>
|
||||
<object class="NSMenuItem" id="511651072">
|
||||
<reference key="NSMenu" ref="294137138"/>
|
||||
<string type="base64-UTF8" key="NSTitle">UHJvZ3JhbW1hJ3M</string>
|
||||
<string key="NSTitle">Programma's</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -1595,7 +1581,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<reference key="NSMixedImage" ref="351811234"/>
|
||||
<string key="NSAction">submenuAction:</string>
|
||||
<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">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMenuItem" id="563798000">
|
||||
|
@ -1611,7 +1597,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
</object>
|
||||
<object class="NSMenuItem" id="1032342329">
|
||||
<reference key="NSMenu" ref="48278059"/>
|
||||
<string type="base64-UTF8" key="NSTitle">UGFzIGFhbuKApg</string>
|
||||
<string key="NSTitle">Pas aan…</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -2186,28 +2172,26 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<object class="NSArray" key="object" id="330408435">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="904585544"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="815810918"/>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="941939442"/>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">First Responder</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-3</int>
|
||||
<reference key="object" ref="951368722"/>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">Application</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -2221,7 +2205,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<reference ref="868031522"/>
|
||||
<reference ref="551174276"/>
|
||||
</object>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">MainMenu</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -2466,7 +2450,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<object class="IBObjectRecord">
|
||||
<int key="objectID">196</int>
|
||||
<reference key="object" ref="485884620"/>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">X11Controller</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -2476,7 +2460,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="941366957"/>
|
||||
</object>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">PrefsPanel</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -2740,7 +2724,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="85544634"/>
|
||||
</object>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">EditPrograms</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -2763,7 +2747,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<reference ref="318286212"/>
|
||||
<reference ref="511651072"/>
|
||||
</object>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">DockMenu</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -3317,6 +3301,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-3.IBPluginDependency</string>
|
||||
<string>-3.ImportedFromIB2</string>
|
||||
<string>100292.IBPluginDependency</string>
|
||||
<string>100293.IBPluginDependency</string>
|
||||
|
@ -3606,6 +3591,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
|
@ -3673,9 +3659,9 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<integer value="1"/>
|
||||
<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>{{437, 672}, {564, 308}}</string>
|
||||
<string>{{325, 672}, {564, 308}}</string>
|
||||
<integer value="1"/>
|
||||
<string>{{184, 290}, {481, 345}}</string>
|
||||
<integer value="0"/>
|
||||
|
@ -3896,9 +3882,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
|
@ -3906,9 +3890,7 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
|
@ -3946,6 +3928,15 @@ dmVyYmluZGluZ2VuIHZhbiBleHRlcm5lIHByb2dyYW1tYSdzIG5pZXQgdG9lZ2VzdGFhbi4</string>
|
|||
</object>
|
||||
</object>
|
||||
<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>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
</data>
|
||||
|
|
Binary file not shown.
|
@ -9,6 +9,6 @@
|
|||
<key>LprojRevisionLevel</key>
|
||||
<string>1</string>
|
||||
<key>LprojVersion</key>
|
||||
<string>73</string>
|
||||
<string>83</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -9,6 +9,6 @@
|
|||
<key>LprojRevisionLevel</key>
|
||||
<string>1</string>
|
||||
<key>LprojVersion</key>
|
||||
<string>73</string>
|
||||
<string>83</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
<?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>
|
||||
<int key="IBDocument.SystemTarget">1050</int>
|
||||
<string key="IBDocument.SystemVersion">9C31</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">677</string>
|
||||
<string key="IBDocument.AppKitVersion">949.26</string>
|
||||
<string key="IBDocument.HIToolboxVersion">352.00</string>
|
||||
<string key="IBDocument.SystemVersion">10A222</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">708</string>
|
||||
<string key="IBDocument.AppKitVersion">994.5</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">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
|
@ -393,7 +397,7 @@
|
|||
<object class="NSMutableString" key="NSViewClass">
|
||||
<characters key="NS.bytes">View</characters>
|
||||
</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>
|
||||
<object class="NSView" key="NSWindowView" id="941366957">
|
||||
<nil key="NSNextResponder"/>
|
||||
|
@ -428,7 +432,7 @@
|
|||
<string key="NSContents">Drei Maustasten nachbilden</string>
|
||||
<object class="NSFont" key="NSSupport" id="463863101">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">1.300000e+01</double>
|
||||
<double key="NSSize">13</double>
|
||||
<int key="NSfFlags">1044</int>
|
||||
</object>
|
||||
<reference key="NSControlView" ref="119157981"/>
|
||||
|
@ -461,7 +465,7 @@ bsO8bGVpc3RlIGRpZSBYMTEtUHJvZ3JhbW1lIHN0w7ZyZW4sIGRpZSBNZXRhLVNvbmRlcnRhc3RlbiB2
|
|||
ZXJ3ZW5kZW4uA</string>
|
||||
<object class="NSFont" key="NSSupport" id="26">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">1.100000e+01</double>
|
||||
<double key="NSSize">11</double>
|
||||
<int key="NSfFlags">3100</int>
|
||||
</object>
|
||||
<string key="NSPlaceholderString"/>
|
||||
|
@ -470,9 +474,9 @@ ZXJ3ZW5kZW4uA</string>
|
|||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</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>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NwA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor" id="930815747">
|
||||
|
@ -639,7 +643,7 @@ LCB3aWUgaW4gZGVyIFN5c3RlbWVpbnN0ZWxsdW5nIOKAnlRvbmVmZmVrdGXigJwgZmVzdGdlbGVndC4<
|
|||
<int key="NSButtonFlags2">1</int>
|
||||
<object class="NSFont" key="NSAlternateImage">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">1.300000e+01</double>
|
||||
<double key="NSSize">13</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<string key="NSAlternateContents"/>
|
||||
|
@ -706,6 +710,7 @@ LCB3aWUgaW4gZGVyIFN5c3RlbWVpbnN0ZWxsdW5nIOKAnlRvbmVmZmVrdGXigJwgZmVzdGdlbGVndC4<
|
|||
<reference key="NSTarget" ref="633115429"/>
|
||||
</object>
|
||||
</object>
|
||||
<reference key="NSMenuFont" ref="463863101"/>
|
||||
</object>
|
||||
<int key="NSPreferredEdge">3</int>
|
||||
<bool key="NSUsesItemFromMenu">YES</bool>
|
||||
|
@ -1262,7 +1267,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</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>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="604417141">
|
||||
|
@ -1275,7 +1280,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<object class="NSMutableString" key="NSViewClass">
|
||||
<characters key="NS.bytes">View</characters>
|
||||
</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>
|
||||
<object class="NSView" key="NSWindowView" id="85544634">
|
||||
<nil key="NSNextResponder"/>
|
||||
|
@ -1360,9 +1365,9 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<object class="NSMutableArray" key="NSTableColumns">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSTableColumn" id="938444323">
|
||||
<double key="NSWidth">1.227310e+02</double>
|
||||
<double key="NSMinWidth">6.273100e+01</double>
|
||||
<double key="NSMaxWidth">1.000000e+03</double>
|
||||
<double key="NSWidth">122.73099999999999</double>
|
||||
<double key="NSMinWidth">62.731000000000002</double>
|
||||
<double key="NSMaxWidth">1000</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
<int key="NSCellFlags">75628032</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
|
@ -1398,9 +1403,9 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<reference key="NSTableView" ref="905092943"/>
|
||||
</object>
|
||||
<object class="NSTableColumn" id="84282687">
|
||||
<double key="NSWidth">1.000000e+02</double>
|
||||
<double key="NSMinWidth">4.000000e+01</double>
|
||||
<double key="NSMaxWidth">1.000000e+03</double>
|
||||
<double key="NSWidth">100</double>
|
||||
<double key="NSMinWidth">40</double>
|
||||
<double key="NSMaxWidth">1000</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
<int key="NSCellFlags">75628032</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
|
@ -1425,9 +1430,9 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<reference key="NSTableView" ref="905092943"/>
|
||||
</object>
|
||||
<object class="NSTableColumn" id="242608782">
|
||||
<double key="NSWidth">6.900000e+01</double>
|
||||
<double key="NSMinWidth">1.000000e+01</double>
|
||||
<double key="NSMaxWidth">1.000000e+03</double>
|
||||
<double key="NSWidth">69</double>
|
||||
<double key="NSMinWidth">10</double>
|
||||
<double key="NSMaxWidth">1000</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
|
@ -1447,7 +1452,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<string key="NSContents">Textzelle</string>
|
||||
<object class="NSFont" key="NSSupport">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">1.200000e+01</double>
|
||||
<double key="NSSize">12</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<string key="NSPlaceholderString"/>
|
||||
|
@ -1457,7 +1462,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlBackgroundColor</string>
|
||||
<reference key="NSColor" ref="764920908"/>
|
||||
<reference key="NSColor" ref="705970636"/>
|
||||
</object>
|
||||
<reference key="NSTextColor" ref="930815747"/>
|
||||
</object>
|
||||
|
@ -1467,8 +1472,8 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<reference key="NSTableView" ref="905092943"/>
|
||||
</object>
|
||||
</object>
|
||||
<double key="NSIntercellSpacingWidth">3.000000e+00</double>
|
||||
<double key="NSIntercellSpacingHeight">2.000000e+00</double>
|
||||
<double key="NSIntercellSpacingWidth">3</double>
|
||||
<double key="NSIntercellSpacingHeight">2</double>
|
||||
<reference key="NSBackgroundColor" ref="822946413"/>
|
||||
<object class="NSColor" key="NSGridColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
|
@ -1479,8 +1484,10 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<double key="NSRowHeight">1.700000e+01</double>
|
||||
<double key="NSRowHeight">17</double>
|
||||
<int key="NSTvFlags">1379958784</int>
|
||||
<reference key="NSDelegate"/>
|
||||
<reference key="NSDataSource"/>
|
||||
<int key="NSColumnAutoresizingStyle">1</int>
|
||||
<int key="NSDraggingSourceMaskForLocal">-1</int>
|
||||
<int key="NSDraggingSourceMaskForNonLocal">0</int>
|
||||
|
@ -1501,7 +1508,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<reference key="NSSuperview" ref="1063387772"/>
|
||||
<reference key="NSTarget" ref="1063387772"/>
|
||||
<string key="NSAction">_doScroller:</string>
|
||||
<double key="NSPercent">9.949238e-01</double>
|
||||
<double key="NSPercent">0.99492380000000002</double>
|
||||
</object>
|
||||
<object class="NSScroller" id="17278747">
|
||||
<reference key="NSNextResponder" ref="1063387772"/>
|
||||
|
@ -1511,7 +1518,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<int key="NSsFlags">1</int>
|
||||
<reference key="NSTarget" ref="1063387772"/>
|
||||
<string key="NSAction">_doScroller:</string>
|
||||
<double key="NSPercent">6.885246e-01</double>
|
||||
<double key="NSPercent">0.68852460000000004</double>
|
||||
</object>
|
||||
<object class="NSClipView" id="672307654">
|
||||
<reference key="NSNextResponder" ref="1063387772"/>
|
||||
|
@ -1568,7 +1575,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</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>
|
||||
</object>
|
||||
<object class="NSMenu" id="294137138">
|
||||
|
@ -3316,11 +3323,8 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.IBPluginDependency</string>
|
||||
<string>-2.IBPluginDependency</string>
|
||||
<string>-3.IBPluginDependency</string>
|
||||
<string>-3.ImportedFromIB2</string>
|
||||
<string>100292.IBPluginDependency</string>
|
||||
<string>100293.IBPluginDependency</string>
|
||||
|
@ -3375,7 +3379,6 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<string>169.editorWindowContentRectSynchronizationRect</string>
|
||||
<string>19.IBPluginDependency</string>
|
||||
<string>19.ImportedFromIB2</string>
|
||||
<string>196.IBPluginDependency</string>
|
||||
<string>196.ImportedFromIB2</string>
|
||||
<string>200295.IBPluginDependency</string>
|
||||
<string>200295.IBShouldRemoveOnLegacySave</string>
|
||||
|
@ -3390,6 +3393,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<string>24.ImportedFromIB2</string>
|
||||
<string>24.editorWindowContentRectSynchronizationRect</string>
|
||||
<string>244.IBEditorWindowLastContentRect</string>
|
||||
<string>244.IBPluginDependency</string>
|
||||
<string>244.IBViewEditorWindowController.showingLayoutRectangles</string>
|
||||
<string>244.IBWindowTemplateEditedContentRect</string>
|
||||
<string>244.ImportedFromIB2</string>
|
||||
|
@ -3409,6 +3413,7 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
<string>272.IBPluginDependency</string>
|
||||
<string>272.ImportedFromIB2</string>
|
||||
<string>285.IBEditorWindowLastContentRect</string>
|
||||
<string>285.IBPluginDependency</string>
|
||||
<string>285.IBViewEditorWindowController.showingBoundsRectangles</string>
|
||||
<string>285.IBViewEditorWindowController.showingLayoutRectangles</string>
|
||||
<string>285.IBWindowTemplateEditedContentRect</string>
|
||||
|
@ -3608,14 +3613,11 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</string>
|
|||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<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>
|
||||
<integer value="1" id="9"/>
|
||||
<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>
|
||||
|
@ -3636,265 +3638,266 @@ dGVuIFByb2dyYW1tZW4gbmljaHQgZXJsYXVidC4</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>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{168, 821}, {113, 23}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{202, 626}, {154, 153}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{349, 858}, {315, 153}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{271, 666}, {301, 153}}</string>
|
||||
<string>{{325, 198}, {613, 302}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO"/>
|
||||
<string>{{325, 198}, {613, 302}}</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{184, 290}, {481, 345}}</string>
|
||||
<integer value="0" id="8"/>
|
||||
<reference ref="9"/>
|
||||
<integer value="0"/>
|
||||
<integer value="1"/>
|
||||
<string>{3.40282e+38, 3.40282e+38}</string>
|
||||
<string>{320, 240}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{58, 803}, {155, 33}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{100, 746}, {155, 33}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{68, 585}, {512, 271}}</string>
|
||||
<reference ref="9"/>
|
||||
<reference ref="9"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<integer value="1"/>
|
||||
<integer value="1"/>
|
||||
<string>{{68, 585}, {512, 271}}</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{433, 406}, {486, 327}}</string>
|
||||
<reference ref="8"/>
|
||||
<reference ref="9"/>
|
||||
<integer value="0"/>
|
||||
<integer value="1"/>
|
||||
<string>{3.40282e+38, 3.40282e+38}</string>
|
||||
<string>{320, 240}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{145, 836}, {375, 20}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{67, 819}, {336, 20}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<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>
|
||||
<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>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<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>
|
||||
<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>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{20, 641}, {218, 203}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>{{79, 616}, {218, 203}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="9"/>
|
||||
<integer value="1"/>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
|
|
Binary file not shown.
|
@ -9,6 +9,6 @@
|
|||
<key>LprojRevisionLevel</key>
|
||||
<string>1</string>
|
||||
<key>LprojVersion</key>
|
||||
<string>73</string>
|
||||
<string>83</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -9,6 +9,6 @@
|
|||
<key>LprojRevisionLevel</key>
|
||||
<string>1</string>
|
||||
<key>LprojVersion</key>
|
||||
<string>76</string>
|
||||
<string>83</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -9,6 +9,6 @@
|
|||
<key>LprojRevisionLevel</key>
|
||||
<string>1</string>
|
||||
<key>LprojVersion</key>
|
||||
<string>73</string>
|
||||
<string>83</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<?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>
|
||||
<int key="IBDocument.SystemTarget">1050</int>
|
||||
<string key="IBDocument.SystemVersion">10A222</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">708</string>
|
||||
<string key="IBDocument.AppKitVersion">994.5</string>
|
||||
<string key="IBDocument.HIToolboxVersion">404.00</string>
|
||||
<string key="IBDocument.SystemVersion">10A314</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">718</string>
|
||||
<string key="IBDocument.AppKitVersion">1013</string>
|
||||
<string key="IBDocument.HIToolboxVersion">415.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>
|
||||
<string key="NS.object.0">718</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -19,7 +19,7 @@
|
|||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
|
@ -229,7 +229,7 @@
|
|||
</object>
|
||||
<object class="NSMenuItem" id="200491363">
|
||||
<reference key="NSMenu" ref="524015605"/>
|
||||
<string type="base64-UTF8" key="NSTitle">RWRpY2nDs24</string>
|
||||
<string key="NSTitle">Edición</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -237,7 +237,7 @@
|
|||
<reference key="NSMixedImage" ref="351811234"/>
|
||||
<string key="NSAction">submenuAction:</string>
|
||||
<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">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMenuItem" id="185296989">
|
||||
|
@ -314,7 +314,7 @@
|
|||
</object>
|
||||
<object class="NSMenuItem" id="369641893">
|
||||
<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>
|
||||
<int key="NSKeyEquivModMask">1179914</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -397,10 +397,10 @@
|
|||
<object class="NSMutableString" key="NSViewClass">
|
||||
<characters key="NS.bytes">View</characters>
|
||||
</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>
|
||||
<object class="NSView" key="NSWindowView" id="941366957">
|
||||
<nil key="NSNextResponder"/>
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -409,6 +409,7 @@
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{13, 10}, {593, 292}}</string>
|
||||
<reference key="NSSuperview" ref="941366957"/>
|
||||
<reference key="NSWindow"/>
|
||||
<object class="NSMutableArray" key="NSTabViewItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSTabViewItem" id="287591690">
|
||||
|
@ -425,11 +426,12 @@
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{18, 210}, {402, 18}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="990762273">
|
||||
<int key="NSCellFlags">67239424</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">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">13</double>
|
||||
|
@ -456,13 +458,12 @@
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{36, 40}, {501, 42}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="391919450">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">Q3VhbmRvIGVzdGEgb3BjacOzbiBlc3TDoSBhY3RpdmFkYSwgcHVlZGUgcXVlIGxvcyBlcXVpdmFsZW50
|
||||
ZXMgZGUgdGVjbGFkbyBkZSBsYSBiYXJyYSBkZSBtZW7DunMgaW50ZXJmaWVyYW4gY29uIGxhcyBhcGxp
|
||||
Y2FjaW9uZXMgWDExIHF1ZSB1c2VuIGVsIG1vZGlmaWNhZG9yIE1ldGEuA</string>
|
||||
<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>
|
||||
<object class="NSFont" key="NSSupport" id="26">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">11</double>
|
||||
|
@ -474,16 +475,16 @@ Y2FjaW9uZXMgWDExIHF1ZSB1c2VuIGVsIG1vZGlmaWNhZG9yIE1ldGEuA</string>
|
|||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</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>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor" id="930815747">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlTextColor</string>
|
||||
<object class="NSColor" key="NSColor" id="214098874">
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
</object>
|
||||
|
@ -495,6 +496,7 @@ Y2FjaW9uZXMgWDExIHF1ZSB1c2VuIGVsIG1vZGlmaWNhZG9yIE1ldGEuA</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{36, 170}, {501, 34}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="649334366">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -513,6 +515,7 @@ IHBhcmEgYWN0aXZhciBlbCBib3TDs24gY2VudHJhbCBvIGRlcmVjaG8gZGVsIHJhdMOzbi4KA</strin
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{18, 88}, {402, 18}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="940564599">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -535,12 +538,12 @@ IHBhcmEgYWN0aXZhciBlbCBib3TDs24gY2VudHJhbCBvIGRlcmVjaG8gZGVsIHJhdMOzbi4KA</strin
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{36, 112}, {501, 28}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="666057093">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">UGVybWl0ZSBxdWUgbG9zIGNhbWJpb3MgZW4gZWwgbWVuw7ogZGUgdGVjbGFkbyByZWVtcGxhY2VuIGxh
|
||||
IGRpc3RyaWJ1Y2nDs24gZGUgdGVjbGFzIGFjdHVhbCBkZSBYMTEuA</string>
|
||||
<string key="NSContents">Permite que los cambios en el menú de teclado reemplacen la distribución de teclas actual de X11.</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<string key="NSPlaceholderString"/>
|
||||
<reference key="NSControlView" ref="31160162"/>
|
||||
|
@ -553,11 +556,12 @@ IGRpc3RyaWJ1Y2nDs24gZGUgdGVjbGFzIGFjdHVhbCBkZSBYMTEuA</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{18, 146}, {402, 18}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="967619578">
|
||||
<int key="NSCellFlags">67239424</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="NSControlView" ref="179949713"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
|
@ -573,6 +577,7 @@ IGRpc3RyaWJ1Y2nDs24gZGUgdGVjbGFzIGFjdHVhbCBkZSBYMTEuA</string>
|
|||
</object>
|
||||
<string key="NSFrame">{{10, 33}, {573, 246}}</string>
|
||||
<reference key="NSSuperview" ref="448510093"/>
|
||||
<reference key="NSWindow"/>
|
||||
</object>
|
||||
<string key="NSLabel">Entrada</string>
|
||||
<reference key="NSColor" ref="57160303"/>
|
||||
|
@ -618,9 +623,7 @@ IGRpc3RyaWJ1Y2nDs24gZGUgdGVjbGFzIGFjdHVhbCBkZSBYMTEuA</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="624655599">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">TG9zIHNvbmlkb3MgZGUgWDExIHVzYXLDoW4gZWwgc29uaWRvIGRlIGFsZXJ0YSBlc3TDoW5kYXIgZGVs
|
||||
IHNpc3RlbWEgZGVmaW5pZG8gZW4gZWwgcGFuZWwg4oCcRWZlY3RvcyBkZSBzb25pZG/igJ0gZGUgUHJl
|
||||
ZmVyZW5jaWFzIGRlbCBTaXN0ZW1hLg</string>
|
||||
<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>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<string key="NSPlaceholderString"/>
|
||||
<reference key="NSControlView" ref="1039016593"/>
|
||||
|
@ -654,7 +657,7 @@ ZmVyZW5jaWFzIGRlbCBTaXN0ZW1hLg</string>
|
|||
<int key="NSPeriodicInterval">75</int>
|
||||
<object class="NSMenuItem" key="NSMenuItem" id="616492372">
|
||||
<reference key="NSMenu" ref="341113515"/>
|
||||
<string key="NSTitle">Los de la pantalla</string>
|
||||
<string key="NSTitle">Desde la pantalla</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -744,8 +747,7 @@ ZmVyZW5jaWFzIGRlbCBTaXN0ZW1hLg</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="311969422">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">RXN0YSBvcGNpw7NuIHNlcsOhIGVmZWN0aXZhIGxhIHByw7N4aW1hIHZleiBxdWUgc2UgaW5pY2llIFgx
|
||||
MS4</string>
|
||||
<string key="NSContents">Esta opción será efectiva la próxima vez que se inicie X11.</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<string key="NSPlaceholderString"/>
|
||||
<reference key="NSControlView" ref="86150604"/>
|
||||
|
@ -784,8 +786,7 @@ MS4</string>
|
|||
<object class="NSButtonCell" key="NSCell" id="917248662">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string type="base64-UTF8" key="NSContents">TW9zdHJhIGJhcnJhIGRlIG1lbsO6cyBhdXRvbcOhdGljYW1lbnRlIGVuIGxhIG1vZGFsaWRhZCBkZSBw
|
||||
YW50YWxsYSBjb21wbGV0YSA</string>
|
||||
<string key="NSContents">Mostra barra de menús automáticamente en la modalidad de pantalla completa </string>
|
||||
<reference key="NSSupport" ref="463863101"/>
|
||||
<reference key="NSControlView" ref="57246850"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
|
@ -807,9 +808,7 @@ YW50YWxsYSBjb21wbGV0YSA</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="761107402">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">QWN0aXZhIGxhIHZlbnRhbmEgcmHDrXogZGUgWDExLiBVc2UgbGEgY29tYmluYWNpw7NuIGRlIHRlY2xh
|
||||
cyBDb21hbmRvICsgT3BjacOzbiArIEEgcGFyYSBlbnRyYXIgbyBzYWxpciBkZSBsYSBtb2RhbGlkYWQg
|
||||
ZGUgcGFudGFsbGEgY29tcGxldGEuA</string>
|
||||
<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>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<string key="NSPlaceholderString"/>
|
||||
<reference key="NSControlView" ref="298603383"/>
|
||||
|
@ -842,7 +841,7 @@ ZGUgcGFudGFsbGEgY29tcGxldGEuA</string>
|
|||
<object class="NSButtonCell" key="NSCell" id="718083688">
|
||||
<int key="NSCellFlags">67239424</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="NSControlView" ref="878106058"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
|
@ -864,9 +863,7 @@ ZGUgcGFudGFsbGEgY29tcGxldGEuA</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="572508492">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">QWN0aXZhIGVsIMOtdGVtIGRlIG1lbsO6ICJjb3BpYXIiIHkgcGVybWl0ZSBzaW5jcm9uaXphciBlbCBw
|
||||
b3J0YXBhcGVsZXMgZGUgT1NYIHkgbG9zIGLDumZlcnMgQ0xJUEJPQVJEIHkgUFJJTUFSWSBkZSBYMTEu
|
||||
A</string>
|
||||
<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>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="386152084"/>
|
||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||
|
@ -904,8 +901,7 @@ A</string>
|
|||
<object class="NSButtonCell" key="NSCell" id="510771323">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string type="base64-UTF8" key="NSContents">QWN0dWFsaXphciBlbCBQUklNQVJZIChjbGljIGNvbiBlbCBib3TDs24gY2VudHJhbCkgY3VhbmRvIGNh
|
||||
bWJpZSBlbCBwb3J0YXBhcGVsZXMuA</string>
|
||||
<string key="NSContents">Actualizar el PRIMARY (clic con el botón central) cuando cambie el portapapeles.</string>
|
||||
<reference key="NSSupport" ref="463863101"/>
|
||||
<reference key="NSControlView" ref="765780304"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
|
@ -971,8 +967,7 @@ bWJpZSBlbCBwb3J0YXBhcGVsZXMuA</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="461823902">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">RGVzYWN0aXZlIGVzdGEgb3BjacOzbiBzaSBkZXNlYSB1c2FyIHhjbGlwYm9hcmQsIGtsaXBwZXIgbyBj
|
||||
dWFscXVpZXIgb3RybyBnZXN0b3IgZGUgcG9ydGFwYXBlbGVzIGRlIFgxMS4</string>
|
||||
<string key="NSContents">Desactive esta opción si desea usar xclipboard, klipper o cualquier otro gestor de portapapeles de X11.</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="620944856"/>
|
||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||
|
@ -988,8 +983,7 @@ dWFscXVpZXIgb3RybyBnZXN0b3IgZGUgcG9ydGFwYXBlbGVzIGRlIFgxMS4</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="994587858">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">QSBjYXVzYSBkZSBsYXMgbGltaXRhY2lvbmVzIGRlbCBwcm90b2NvbG8gZGUgWDExLCBwdWVkZSBxdWUg
|
||||
ZXN0YSBvcGNpw7NuIG5vIGZ1bmNpb25lIHNpZW1wcmUgZW4gYWxndW5hcyBhcGxpY2FjaW9uZXMuA</string>
|
||||
<string key="NSContents">A causa de las limitaciones del protocolo de X11, puede que esta opción no funcione siempre en algunas aplicaciones.</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="522511724"/>
|
||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||
|
@ -1043,9 +1037,7 @@ ZXN0YSBvcGNpw7NuIG5vIGZ1bmNpb25lIHNpZW1wcmUgZW4gYWxndW5hcyBhcGxpY2FjaW9uZXMuA</s
|
|||
<object class="NSTextFieldCell" key="NSCell" id="399127858">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">Q3VhbmRvIGVzdMOhIGFjdGl2YWRhLCBhbCBoYWNlciBjbGljIGVuIHVuYSB2ZW50YW5hIGluYWN0aXZh
|
||||
LCBsYSB2ZW50YW5hIHNlIGFjdGl2YSB5IGFkZW3DoXMgZWwgY2xpYyBkZWwgcmF0w7NuIHNlIHRyYW5z
|
||||
bWl0ZSBhIGVsbGEuA</string>
|
||||
<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>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="290578835"/>
|
||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||
|
@ -1061,7 +1053,7 @@ bWl0ZSBhIGVsbGEuA</string>
|
|||
<object class="NSButtonCell" key="NSCell" id="959555182">
|
||||
<int key="NSCellFlags">67239424</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="NSControlView" ref="992839333"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
|
@ -1121,9 +1113,7 @@ bWl0ZSBhIGVsbGEuA</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="989804990">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">Q3VhbmRvIGVzdMOhIGFjdGl2YWRhLCBhbCBjcmVhciB1bmEgbnVldmEgdmVudGFuYSBkZSBYMTEgZWwg
|
||||
YXJjaGl2byBYMTEuYXBwIHNlIHNpdMO6YSBlbiBwcmltZXIgcGxhbm8gKHBvciBlbmNpbWEgZGUgRmlu
|
||||
ZGVyLmFwcCwgVGVybWluYWwuYXBwLCBldGMuKQ</string>
|
||||
<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>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="57161931"/>
|
||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||
|
@ -1196,10 +1186,7 @@ ZGVyLmFwcCwgVGVybWluYWwuYXBwLCBldGMuKQ</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="53243865">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">QWwgaW5pY2lhciBYMTEgc2UgY3JlYXLDoW4gdW5hcyBjbGF2ZXMgZGUgY29udHJvbCBkZSBhY2Nlc28g
|
||||
WGF1dGhvcml0eS4gU2kgbGEgZGlyZWNjacOzbiBJUCBkZWwgc2lzdGVtYSBjYW1iaWEsIGVzdGFzIGNs
|
||||
YXZlcyBkZWphcsOhbiBkZSBzZXIgdsOhbGlkYXMsIGxvIHF1ZSBpbXBlZGlyw61hIHF1ZSBwdWRpZXNl
|
||||
biBlamVjdXRhcnNlIGxhcyBhcGxpY2FjaW9uZXMgWDExLg</string>
|
||||
<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>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<string key="NSPlaceholderString"/>
|
||||
<reference key="NSControlView" ref="168436707"/>
|
||||
|
@ -1216,10 +1203,7 @@ biBlamVjdXRhcnNlIGxhcyBhcGxpY2FjaW9uZXMgWDExLg</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="390084685">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">U2kgZXN0YSBvcGNpw7NuIGVzdMOhIGFjdGl2YWRhLCBsYSBvcGNpw7NuIOKAnEF1dGVudGljYXIgY29u
|
||||
ZXhpb25lc+KAnSB0YW1iacOpbiBkZWJlIGVzdGFybG8gcGFyYSBnYXJhbnRpemFyIGxhIHNlZ3VyaWRh
|
||||
ZCBkZWwgc2lzdGVtYS4gU2kgZXN0w6EgZGVzYWN0aXZhZGEsIGxhcyBjb25leGlvbmVzIGRlIGFwbGlj
|
||||
YWNpb25lcyByZW1vdGFzIG5vIGVzdMOhbiBwZXJtaXRpZGFzLg</string>
|
||||
<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>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<string key="NSPlaceholderString"/>
|
||||
<reference key="NSControlView" ref="363817195"/>
|
||||
|
@ -1236,8 +1220,7 @@ YWNpb25lcyByZW1vdGFzIG5vIGVzdMOhbiBwZXJtaXRpZGFzLg</string>
|
|||
<object class="NSTextFieldCell" key="NSCell" id="283628678">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string type="base64-UTF8" key="NSContents">RXN0YXMgb3BjaW9uZXMgc2Vyw6FuIGVmZWN0aXZhcyBsYSBwcsOzeGltYSB2ZXogcXVlIHNlIGluaWNp
|
||||
ZSBYMTEuA</string>
|
||||
<string key="NSContents">Estas opciones serán efectivas la próxima vez que se inicie X11.</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<string key="NSPlaceholderString"/>
|
||||
<reference key="NSControlView" ref="223835729"/>
|
||||
|
@ -1265,10 +1248,12 @@ ZSBYMTEuA</string>
|
|||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{619, 308}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</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>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="604417141">
|
||||
|
@ -1276,15 +1261,15 @@ ZSBYMTEuA</string>
|
|||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{302, 440}, {454, 271}}</string>
|
||||
<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>
|
||||
<object class="NSMutableString" key="NSViewClass">
|
||||
<characters key="NS.bytes">View</characters>
|
||||
</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>
|
||||
<object class="NSView" key="NSWindowView" id="85544634">
|
||||
<nil key="NSNextResponder"/>
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -1293,6 +1278,7 @@ ZSBYMTEuA</string>
|
|||
<int key="NSvFlags">265</int>
|
||||
<string key="NSFrame">{{340, 191}, {110, 32}}</string>
|
||||
<reference key="NSSuperview" ref="85544634"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="143554520">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -1316,6 +1302,7 @@ ZSBYMTEuA</string>
|
|||
<int key="NSvFlags">265</int>
|
||||
<string key="NSFrame">{{340, 159}, {110, 32}}</string>
|
||||
<reference key="NSSuperview" ref="85544634"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="8201128">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -1349,12 +1336,14 @@ ZSBYMTEuA</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{301, 198}</string>
|
||||
<reference key="NSSuperview" ref="580565898"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTableHeaderView" key="NSHeaderView" id="792419186">
|
||||
<reference key="NSNextResponder" ref="672307654"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{301, 17}</string>
|
||||
<reference key="NSSuperview" ref="672307654"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSTableView" ref="905092943"/>
|
||||
</object>
|
||||
<object class="_NSCornerView" key="NSCornerView" id="898633680">
|
||||
|
@ -1362,6 +1351,7 @@ ZSBYMTEuA</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{302, 0}, {16, 17}}</string>
|
||||
<reference key="NSSuperview" ref="1063387772"/>
|
||||
<reference key="NSWindow"/>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="NSTableColumns">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -1370,19 +1360,22 @@ ZSBYMTEuA</string>
|
|||
<double key="NSMinWidth">62.730998992919922</double>
|
||||
<double key="NSMaxWidth">1000</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
<int key="NSCellFlags">75628032</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<int key="NSCellFlags">75628096</int>
|
||||
<int key="NSCellFlags2">2048</int>
|
||||
<string key="NSContents">Nombre</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<object class="NSColor" key="NSBackgroundColor" id="113872566">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor" id="249576247">
|
||||
<object class="NSColor" key="NSTextColor" id="336770154">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">headerTextColor</string>
|
||||
<reference key="NSColor" ref="214098874"/>
|
||||
<string key="NSColorName">disabledControlTextColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC4zMzMzMzMzMzMzAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSTextFieldCell" key="NSDataCell" id="825378892">
|
||||
|
@ -1405,16 +1398,16 @@ ZSBYMTEuA</string>
|
|||
<string key="NSHeaderToolTip"/>
|
||||
</object>
|
||||
<object class="NSTableColumn" id="84282687">
|
||||
<double key="NSWidth">99</double>
|
||||
<double key="NSWidth">88</double>
|
||||
<double key="NSMinWidth">40</double>
|
||||
<double key="NSMaxWidth">1000</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
<int key="NSCellFlags">75628032</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<int key="NSCellFlags">75628096</int>
|
||||
<int key="NSCellFlags2">2048</int>
|
||||
<string key="NSContents">Comando</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSBackgroundColor" ref="113872566"/>
|
||||
<reference key="NSTextColor" ref="249576247"/>
|
||||
<reference key="NSTextColor" ref="336770154"/>
|
||||
</object>
|
||||
<object class="NSTextFieldCell" key="NSDataCell" id="432610585">
|
||||
<int key="NSCellFlags">338820672</int>
|
||||
|
@ -1433,13 +1426,13 @@ ZSBYMTEuA</string>
|
|||
<string key="NSHeaderToolTip"/>
|
||||
</object>
|
||||
<object class="NSTableColumn" id="242608782">
|
||||
<double key="NSWidth">71</double>
|
||||
<double key="NSWidth">82</double>
|
||||
<double key="NSMinWidth">10</double>
|
||||
<double key="NSMaxWidth">1000</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string type="base64-UTF8" key="NSContents">RnVuY2nDs24gcsOhcGlkYQ</string>
|
||||
<int key="NSCellFlags">75628096</int>
|
||||
<int key="NSCellFlags2">2048</int>
|
||||
<string key="NSContents">Función rápida</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<object class="NSColor" key="NSBackgroundColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
|
@ -1447,7 +1440,7 @@ ZSBYMTEuA</string>
|
|||
<string key="NSColorName">headerColor</string>
|
||||
<reference key="NSColor" ref="822946413"/>
|
||||
</object>
|
||||
<reference key="NSTextColor" ref="249576247"/>
|
||||
<reference key="NSTextColor" ref="336770154"/>
|
||||
</object>
|
||||
<object class="NSTextFieldCell" key="NSDataCell" id="34714764">
|
||||
<int key="NSCellFlags">338820672</int>
|
||||
|
@ -1465,7 +1458,7 @@ ZSBYMTEuA</string>
|
|||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlBackgroundColor</string>
|
||||
<reference key="NSColor" ref="92723341"/>
|
||||
<reference key="NSColor" ref="193651701"/>
|
||||
</object>
|
||||
<reference key="NSTextColor" ref="930815747"/>
|
||||
</object>
|
||||
|
@ -1496,10 +1489,12 @@ ZSBYMTEuA</string>
|
|||
<int key="NSDraggingSourceMaskForLocal">-1</int>
|
||||
<int key="NSDraggingSourceMaskForNonLocal">0</int>
|
||||
<bool key="NSAllowsTypeSelect">YES</bool>
|
||||
<int key="NSTableViewDraggingDestinationStyle">0</int>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrame">{{1, 17}, {301, 198}}</string>
|
||||
<reference key="NSSuperview" ref="1063387772"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="905092943"/>
|
||||
<reference key="NSDocView" ref="905092943"/>
|
||||
<reference key="NSBGColor" ref="812484075"/>
|
||||
|
@ -1510,6 +1505,7 @@ ZSBYMTEuA</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{302, 17}, {15, 198}}</string>
|
||||
<reference key="NSSuperview" ref="1063387772"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSTarget" ref="1063387772"/>
|
||||
<string key="NSAction">_doScroller:</string>
|
||||
<double key="NSPercent">0.99492377042770386</double>
|
||||
|
@ -1519,10 +1515,11 @@ ZSBYMTEuA</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{1, 215}, {301, 15}}</string>
|
||||
<reference key="NSSuperview" ref="1063387772"/>
|
||||
<reference key="NSWindow"/>
|
||||
<int key="NSsFlags">1</int>
|
||||
<reference key="NSTarget" ref="1063387772"/>
|
||||
<string key="NSAction">_doScroller:</string>
|
||||
<double key="NSPercent">0.68852460384368896</double>
|
||||
<double key="NSPercent">0.99668874172185429</double>
|
||||
</object>
|
||||
<object class="NSClipView" id="672307654">
|
||||
<reference key="NSNextResponder" ref="1063387772"/>
|
||||
|
@ -1533,6 +1530,7 @@ ZSBYMTEuA</string>
|
|||
</object>
|
||||
<string key="NSFrame">{{1, 0}, {301, 17}}</string>
|
||||
<reference key="NSSuperview" ref="1063387772"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="792419186"/>
|
||||
<reference key="NSDocView" ref="792419186"/>
|
||||
<reference key="NSBGColor" ref="812484075"/>
|
||||
|
@ -1542,6 +1540,7 @@ ZSBYMTEuA</string>
|
|||
</object>
|
||||
<string key="NSFrame">{{20, 20}, {318, 231}}</string>
|
||||
<reference key="NSSuperview" ref="85544634"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="580565898"/>
|
||||
<int key="NSsFlags">50</int>
|
||||
<reference key="NSVScroller" ref="842897584"/>
|
||||
|
@ -1556,11 +1555,12 @@ ZSBYMTEuA</string>
|
|||
<int key="NSvFlags">265</int>
|
||||
<string key="NSFrame">{{340, 223}, {114, 32}}</string>
|
||||
<reference key="NSSuperview" ref="85544634"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="1025474039">
|
||||
<int key="NSCellFlags">-2080244224</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="NSControlView" ref="758204686"/>
|
||||
<int key="NSButtonFlags">-2038284033</int>
|
||||
|
@ -1576,14 +1576,16 @@ ZSBYMTEuA</string>
|
|||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{454, 271}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1280, 938}}</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>
|
||||
</object>
|
||||
<object class="NSMenu" id="294137138">
|
||||
<string type="base64-UTF8" key="NSTitle">TWVuw7o</string>
|
||||
<string key="NSTitle">Menú</string>
|
||||
<object class="NSMutableArray" key="NSMenuItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMenuItem" id="318286212">
|
||||
|
@ -1623,7 +1625,7 @@ ZSBYMTEuA</string>
|
|||
</object>
|
||||
<object class="NSMenuItem" id="1032342329">
|
||||
<reference key="NSMenu" ref="48278059"/>
|
||||
<string type="base64-UTF8" key="NSTitle">UGVyc29uYWxpemFy4oCmA</string>
|
||||
<string key="NSTitle">Personalizar…</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -2198,28 +2200,26 @@ ZSBYMTEuA</string>
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<object class="NSArray" key="object" id="330408435">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="904585544"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="815810918"/>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="941939442"/>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">First Responder</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-3</int>
|
||||
<reference key="object" ref="951368722"/>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">Application</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -2233,7 +2233,7 @@ ZSBYMTEuA</string>
|
|||
<reference ref="868031522"/>
|
||||
<reference ref="551174276"/>
|
||||
</object>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">MainMenu</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -2478,7 +2478,7 @@ ZSBYMTEuA</string>
|
|||
<object class="IBObjectRecord">
|
||||
<int key="objectID">196</int>
|
||||
<reference key="object" ref="485884620"/>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">X11Controller</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -2488,7 +2488,7 @@ ZSBYMTEuA</string>
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="941366957"/>
|
||||
</object>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">PrefsPanel</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -2752,7 +2752,7 @@ ZSBYMTEuA</string>
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="85544634"/>
|
||||
</object>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">EditPrograms</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -2775,7 +2775,7 @@ ZSBYMTEuA</string>
|
|||
<reference ref="318286212"/>
|
||||
<reference ref="511651072"/>
|
||||
</object>
|
||||
<reference key="parent" ref="330408435"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">DockMenu</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
|
@ -3329,6 +3329,7 @@ ZSBYMTEuA</string>
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-3.IBPluginDependency</string>
|
||||
<string>-3.ImportedFromIB2</string>
|
||||
<string>100292.IBPluginDependency</string>
|
||||
<string>100293.IBPluginDependency</string>
|
||||
|
@ -3618,6 +3619,7 @@ ZSBYMTEuA</string>
|
|||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<integer value="1"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
|
@ -3685,10 +3687,10 @@ ZSBYMTEuA</string>
|
|||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<integer value="1"/>
|
||||
<string>{{271, 666}, {301, 153}}</string>
|
||||
<string>{{438, 548}, {619, 308}}</string>
|
||||
<string>{{300, 409}, {619, 308}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO"/>
|
||||
<string>{{438, 548}, {619, 308}}</string>
|
||||
<boolean value="YES"/>
|
||||
<string>{{300, 409}, {619, 308}}</string>
|
||||
<integer value="1"/>
|
||||
<string>{{184, 290}, {481, 345}}</string>
|
||||
<integer value="0"/>
|
||||
|
@ -3705,11 +3707,11 @@ ZSBYMTEuA</string>
|
|||
<string>{{100, 746}, {155, 33}}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<integer value="1"/>
|
||||
<string>{{68, 585}, {454, 271}}</string>
|
||||
<string>{{68, 453}, {454, 271}}</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>
|
||||
<integer value="1"/>
|
||||
<string>{{433, 406}, {486, 327}}</string>
|
||||
<integer value="0"/>
|
||||
|
@ -3910,9 +3912,7 @@ ZSBYMTEuA</string>
|
|||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
|
@ -3920,9 +3920,7 @@ ZSBYMTEuA</string>
|
|||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
|
@ -3960,6 +3958,15 @@ ZSBYMTEuA</string>
|
|||
</object>
|
||||
</object>
|
||||
<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>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
</data>
|
||||
|
|
Binary file not shown.
|
@ -9,6 +9,6 @@
|
|||
<key>LprojRevisionLevel</key>
|
||||
<string>1</string>
|
||||
<key>LprojVersion</key>
|
||||
<string>73</string>
|
||||
<string>83</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user