Merge branch 'master' into xi2

This commit is contained in:
Peter Hutterer 2009-04-07 19:36:27 +10:00
commit 6c3b633299
75 changed files with 546 additions and 752 deletions

View File

@ -26,13 +26,6 @@ Equipment Corporation.
******************************************************************/ ******************************************************************/
/*
* HISTORY
*
* @(#)RCSfile: dpms.c,v Revision: 1.1.4.5 (DEC) Date: 1996/03/04 15:27:00
*/
#ifdef HAVE_DIX_CONFIG_H #ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h> #include <dix-config.h>
#endif #endif
@ -50,33 +43,6 @@ Equipment Corporation.
#include "dpmsproc.h" #include "dpmsproc.h"
#include "modinit.h" #include "modinit.h"
static DISPATCH_PROC(ProcDPMSDispatch);
static DISPATCH_PROC(SProcDPMSDispatch);
static DISPATCH_PROC(ProcDPMSGetVersion);
static DISPATCH_PROC(SProcDPMSGetVersion);
static DISPATCH_PROC(ProcDPMSGetTimeouts);
static DISPATCH_PROC(SProcDPMSGetTimeouts);
static DISPATCH_PROC(ProcDPMSSetTimeouts);
static DISPATCH_PROC(SProcDPMSSetTimeouts);
static DISPATCH_PROC(ProcDPMSEnable);
static DISPATCH_PROC(SProcDPMSEnable);
static DISPATCH_PROC(ProcDPMSDisable);
static DISPATCH_PROC(SProcDPMSDisable);
static DISPATCH_PROC(ProcDPMSForceLevel);
static DISPATCH_PROC(SProcDPMSForceLevel);
static DISPATCH_PROC(ProcDPMSInfo);
static DISPATCH_PROC(SProcDPMSInfo);
static DISPATCH_PROC(ProcDPMSCapable);
static DISPATCH_PROC(SProcDPMSCapable);
void
DPMSExtensionInit(INITARGS)
{
AddExtension(DPMSExtensionName, 0, 0,
ProcDPMSDispatch, SProcDPMSDispatch,
NULL, StandardMinorOpcode);
}
static int static int
ProcDPMSGetVersion(ClientPtr client) ProcDPMSGetVersion(ClientPtr client)
{ {
@ -414,3 +380,11 @@ SProcDPMSDispatch (ClientPtr client)
return BadRequest; return BadRequest;
} }
} }
void
DPMSExtensionInit(INITARGS)
{
AddExtension(DPMSExtensionName, 0, 0,
ProcDPMSDispatch, SProcDPMSDispatch,
NULL, StandardMinorOpcode);
}

View File

@ -1,4 +1,3 @@
/* Prototypes for functions that the DDX must provide */ /* Prototypes for functions that the DDX must provide */
#ifdef HAVE_DIX_CONFIG_H #ifdef HAVE_DIX_CONFIG_H
@ -11,7 +10,6 @@
#include "dixstruct.h" #include "dixstruct.h"
int DPMSSet(ClientPtr client, int level); int DPMSSet(ClientPtr client, int level);
int DPMSGet(int *plevel);
Bool DPMSSupported(void); Bool DPMSSupported(void);
#endif #endif

View File

@ -39,11 +39,6 @@ Bool DPMSSupported(void)
return FALSE; return FALSE;
} }
int DPMSGet(int *plevel)
{
return -1;
}
int DPMSSet(ClientPtr client, int level) int DPMSSet(ClientPtr client, int level)
{ {
return Success; return Success;

View File

@ -1971,6 +1971,10 @@ SELinuxExtensionInit(INITARGS)
return; return;
} }
/* Don't init unless there's something to do */
if (!security_get_boolean_active("xserver_object_manager"))
return;
/* Check SELinux mode in configuration file */ /* Check SELinux mode in configuration file */
switch(selinuxEnforcingState) { switch(selinuxEnforcingState) {
case SELINUX_MODE_DISABLED: case SELINUX_MODE_DISABLED:

View File

@ -159,6 +159,7 @@ ProcXTestFakeInput(ClientPtr client)
int nevents = 0; int nevents = 0;
int i; int i;
int base = 0; int base = 0;
int flags = 0;
nev = (stuff->length << 2) - sizeof(xReq); nev = (stuff->length << 2) - sizeof(xReq);
if ((nev % sizeof(xEvent)) || !nev) if ((nev % sizeof(xEvent)) || !nev)
@ -209,8 +210,14 @@ ProcXTestFakeInput(ClientPtr client)
client->errorValue = ev->u.u.type; client->errorValue = ev->u.u.type;
return BadValue; return BadValue;
} }
if (ev->u.u.detail == xFalse)
flags |= POINTER_ABSOLUTE;
} else } else
{
firstValuator = 0; firstValuator = 0;
flags |= POINTER_ABSOLUTE;
}
if (nev > 1 && !dev->valuator) if (nev > 1 && !dev->valuator)
{ {
@ -279,6 +286,8 @@ ProcXTestFakeInput(ClientPtr client)
valuators[1] = ev->u.keyButtonPointer.rootY; valuators[1] = ev->u.keyButtonPointer.rootY;
numValuators = 2; numValuators = 2;
firstValuator = 0; firstValuator = 0;
if (ev->u.u.detail == xFalse)
flags = POINTER_ABSOLUTE | POINTER_SCREEN;
break; break;
default: default:
client->errorValue = ev->u.u.type; client->errorValue = ev->u.u.type;
@ -376,14 +385,13 @@ ProcXTestFakeInput(ClientPtr client)
GetEventList(&events); GetEventList(&events);
switch(type) { switch(type) {
case MotionNotify: case MotionNotify:
nevents = GetPointerEvents(events, dev, type, 0, nevents = GetPointerEvents(events, dev, type, 0, flags,
(ev->u.u.detail == xFalse) ? POINTER_ABSOLUTE : 0,
firstValuator, numValuators, valuators); firstValuator, numValuators, valuators);
break; break;
case ButtonPress: case ButtonPress:
case ButtonRelease: case ButtonRelease:
nevents = GetPointerEvents(events, dev, type, ev->u.u.detail, nevents = GetPointerEvents(events, dev, type, ev->u.u.detail,
POINTER_ABSOLUTE, firstValuator, flags, firstValuator,
numValuators, valuators); numValuators, valuators);
break; break;
case KeyPress: case KeyPress:

View File

@ -125,13 +125,13 @@ compCreateOverlayWindow (ScreenPtr pScreen)
CompScreenPtr cs = GetCompScreen(pScreen); CompScreenPtr cs = GetCompScreen(pScreen);
WindowPtr pRoot = WindowTable[pScreen->myNum]; WindowPtr pRoot = WindowTable[pScreen->myNum];
WindowPtr pWin; WindowPtr pWin;
XID overrideRedirect = TRUE; XID attrs[] = { None, TRUE }; /* backPixmap, overrideRedirect */
int result; int result;
pWin = cs->pOverlayWin = pWin = cs->pOverlayWin =
CreateWindow (cs->overlayWid, pRoot, CreateWindow (cs->overlayWid, pRoot,
0, 0, pScreen->width, pScreen->height, 0, 0, 0, pScreen->width, pScreen->height, 0,
InputOutput, CWOverrideRedirect, &overrideRedirect, InputOutput, CWBackPixmap | CWOverrideRedirect, &attrs[0],
pRoot->drawable.depth, pRoot->drawable.depth,
serverClient, pScreen->rootVisual, &result); serverClient, pScreen->rootVisual, &result);
if (pWin == NULL) if (pWin == NULL)

View File

@ -1427,7 +1427,7 @@ ProcSetModifierMapping(ClientPtr client)
rc = change_modmap(client, PickKeyboard(client), (KeyCode *)&stuff[1], rc = change_modmap(client, PickKeyboard(client), (KeyCode *)&stuff[1],
stuff->numKeyPerModifier); stuff->numKeyPerModifier);
if (rc == MappingFailed || rc == -1) if (rc == MappingFailed || rc == -1)
rc = BadValue; return BadValue;
if (rc != Success && rc != MappingSuccess && rc != MappingFailed && if (rc != Success && rc != MappingSuccess && rc != MappingFailed &&
rc != MappingBusy) rc != MappingBusy)
return rc; return rc;
@ -1510,6 +1510,8 @@ ProcChangeKeyboardMapping(ClientPtr client)
for (tmp = inputInfo.devices; tmp; tmp = tmp->next) { for (tmp = inputInfo.devices; tmp; tmp = tmp->next) {
if (tmp->isMaster || tmp->u.master != pDev) if (tmp->isMaster || tmp->u.master != pDev)
continue; continue;
if (!tmp->key)
continue;
rc = XaceHook(XACE_DEVICE_ACCESS, client, pDev, DixManageAccess); rc = XaceHook(XACE_DEVICE_ACCESS, client, pDev, DixManageAccess);
if (rc != Success) if (rc != Success)

View File

@ -3459,37 +3459,16 @@ KillAllClients(void)
void InitClient(ClientPtr client, int i, pointer ospriv) void InitClient(ClientPtr client, int i, pointer ospriv)
{ {
memset(client, 0, sizeof(*client));
client->index = i; client->index = i;
client->sequence = 0;
client->clientAsMask = ((Mask)i) << CLIENTOFFSET; client->clientAsMask = ((Mask)i) << CLIENTOFFSET;
client->clientGone = FALSE;
client->closeDownMode = i ? DestroyAll : RetainPermanent; client->closeDownMode = i ? DestroyAll : RetainPermanent;
client->numSaved = 0;
client->saveSet = (SaveSetElt *)NULL;
client->noClientException = Success;
#ifdef DEBUG
client->requestLogIndex = 0;
#endif
client->requestVector = InitialVector; client->requestVector = InitialVector;
client->osPrivate = ospriv; client->osPrivate = ospriv;
client->swapped = FALSE;
client->big_requests = FALSE;
client->priority = 0;
client->clientState = ClientStateInitial;
client->devPrivates = NULL;
client->xkbClientFlags = 0;
client->mapNotifyMask = 0;
client->newKeyboardNotifyMask = 0;
client->vMinor = client->vMajor = 0;
QueryMinMaxKeyCodes(&client->minKC,&client->maxKC); QueryMinMaxKeyCodes(&client->minKC,&client->maxKC);
client->replyBytesRemaining = 0;
client->fontResFunc = NULL;
client->smart_priority = 0;
client->smart_start_tick = SmartScheduleTime; client->smart_start_tick = SmartScheduleTime;
client->smart_stop_tick = SmartScheduleTime; client->smart_stop_tick = SmartScheduleTime;
client->smart_check_tick = SmartScheduleTime; client->smart_check_tick = SmartScheduleTime;
client->clientPtr = NULL;
} }
/************************ /************************

View File

@ -1734,7 +1734,7 @@ AllowSome(ClientPtr client,
{ {
if (dev == thisDev) if (dev == thisDev)
continue; continue;
devgrabinfo = (core) ? &dev->deviceGrab : &dev->deviceGrab; devgrabinfo = &dev->deviceGrab;
if (devgrabinfo->grab if (devgrabinfo->grab
&& SameClient(devgrabinfo->grab, client)) && SameClient(devgrabinfo->grab, client))
devgrabinfo->sync.state = THAWED; devgrabinfo->sync.state = THAWED;

View File

@ -95,25 +95,8 @@ int ScreenSaverBlanking;
int ScreenSaverAllowExposures; int ScreenSaverAllowExposures;
#ifdef DPMSExtension #ifdef DPMSExtension
# ifndef DEFAULT_STANDBY_TIME
# define DEFAULT_STANDBY_TIME DEFAULT_SCREEN_SAVER_TIME * 2
# endif
# ifndef DEFAULT_SUSPEND_TIME
# define DEFAULT_SUSPEND_TIME DEFAULT_SCREEN_SAVER_TIME * 3
# endif
# ifndef DEFAULT_OFF_TIME
# define DEFAULT_OFF_TIME DEFAULT_SCREEN_SAVER_TIME * 4
# endif
# ifndef DEFAULT_DPMS_ENABLED
# define DEFAULT_DPMS_ENABLED TRUE
# endif
CARD32 defaultDPMSStandbyTime = DEFAULT_STANDBY_TIME;
CARD32 defaultDPMSSuspendTime = DEFAULT_SUSPEND_TIME;
CARD32 defaultDPMSOffTime = DEFAULT_OFF_TIME;
CARD16 DPMSPowerLevel = 0; CARD16 DPMSPowerLevel = 0;
Bool defaultDPMSEnabled = DEFAULT_DPMS_ENABLED; Bool DPMSDisabledSwitch = FALSE;
Bool DPMSEnabledSwitch = FALSE; /* these denote the DPMS command */
Bool DPMSDisabledSwitch = FALSE; /* lind switch states */
Bool DPMSCapableFlag = FALSE; Bool DPMSCapableFlag = FALSE;
CARD32 DPMSStandbyTime; CARD32 DPMSStandbyTime;
CARD32 DPMSSuspendTime; CARD32 DPMSSuspendTime;

View File

@ -235,6 +235,9 @@ static int build_modmap_from_modkeymap(CARD8 *modmap, KeyCode *modkeymap,
if (!modkeymap[i]) if (!modkeymap[i])
continue; continue;
if (modkeymap[i] >= MAP_LENGTH)
return BadValue;
if (modmap[modkeymap[i]]) if (modmap[modkeymap[i]])
return BadValue; return BadValue;

View File

@ -269,10 +269,10 @@ int main(int argc, char *argv[], char *envp[])
ScreenSaverBlanking = defaultScreenSaverBlanking; ScreenSaverBlanking = defaultScreenSaverBlanking;
ScreenSaverAllowExposures = defaultScreenSaverAllowExposures; ScreenSaverAllowExposures = defaultScreenSaverAllowExposures;
#ifdef DPMSExtension #ifdef DPMSExtension
DPMSStandbyTime = defaultDPMSStandbyTime; DPMSStandbyTime = DEFAULT_SCREEN_SAVER_TIME;
DPMSSuspendTime = defaultDPMSSuspendTime; DPMSSuspendTime = DEFAULT_SCREEN_SAVER_TIME;
DPMSOffTime = defaultDPMSOffTime; DPMSOffTime = DEFAULT_SCREEN_SAVER_TIME;
DPMSEnabled = defaultDPMSEnabled; DPMSEnabled = TRUE;
DPMSPowerLevel = 0; DPMSPowerLevel = 0;
#endif #endif
InitBlockAndWakeupHandlers(); InitBlockAndWakeupHandlers();

View File

@ -964,9 +964,6 @@ DestroySubwindows(WindowPtr pWin, ClientPtr client)
return Success; return Success;
} }
#define DeviceEventMasks (KeyPressMask | KeyReleaseMask | ButtonPressMask | \
ButtonReleaseMask | PointerMotionMask)
/***** /*****
* ChangeWindowAttributes * ChangeWindowAttributes
* *

View File

@ -1134,6 +1134,7 @@ static void
determineTextureTarget(XID glxDrawableID, CARD32 *attribs, CARD32 numAttribs) determineTextureTarget(XID glxDrawableID, CARD32 *attribs, CARD32 numAttribs)
{ {
GLenum target = 0; GLenum target = 0;
GLenum format = 0;
int i; int i;
__GLXdrawable *pGlxDraw; __GLXdrawable *pGlxDraw;
@ -1150,6 +1151,9 @@ determineTextureTarget(XID glxDrawableID, CARD32 *attribs, CARD32 numAttribs)
break; break;
} }
} }
if (attribs[2 * i] == GLX_TEXTURE_FORMAT_EXT)
format = attribs[2 * i + 1];
} }
if (!target) { if (!target) {
@ -1162,6 +1166,7 @@ determineTextureTarget(XID glxDrawableID, CARD32 *attribs, CARD32 numAttribs)
} }
pGlxDraw->target = target; pGlxDraw->target = target;
pGlxDraw->format = format;
} }
int __glXDisp_CreateGLXPixmap(__GLXclientState *cl, GLbyte *pc) int __glXDisp_CreateGLXPixmap(__GLXclientState *cl, GLbyte *pc)

View File

@ -72,6 +72,7 @@ struct __GLXdrawable {
int refCount; int refCount;
GLenum target; GLenum target;
GLenum format;
/* /*
** Event mask ** Event mask

View File

@ -251,9 +251,16 @@ __glXDRIbindTexImage(__GLXcontext *baseContext,
if (texBuffer == NULL) if (texBuffer == NULL)
return Success; return Success;
texBuffer->setTexBuffer(context->driContext, if (texBuffer->base.version >= 2 && texBuffer->setTexBuffer2 != NULL) {
glxPixmap->target, (*texBuffer->setTexBuffer2)(context->driContext,
drawable->driDrawable); glxPixmap->target,
glxPixmap->format,
drawable->driDrawable);
} else {
texBuffer->setTexBuffer(context->driContext,
glxPixmap->target,
drawable->driDrawable);
}
return Success; return Success;
} }

View File

@ -1073,7 +1073,7 @@ MouseInit (KdPointerInfo *pi)
((EphyrPointerPrivate *)pi->driverPrivate)->enabled = FALSE; ((EphyrPointerPrivate *)pi->driverPrivate)->enabled = FALSE;
pi->nAxes = 3; pi->nAxes = 3;
pi->nButtons = 32; pi->nButtons = 32;
pi->name = KdSaveString("Xephyr virtual mouse"); pi->name = strdup("Xephyr virtual mouse");
ephyrMouse = pi; ephyrMouse = pi;
return Success; return Success;
} }
@ -1127,7 +1127,7 @@ EphyrKeyboardInit (KdKeyboardInfo *ki)
ki->keySyms.mapWidth = ephyrKeySyms.mapWidth; ki->keySyms.mapWidth = ephyrKeySyms.mapWidth;
xfree(ki->keySyms.map); xfree(ki->keySyms.map);
ki->keySyms.map = ephyrKeySyms.map; ki->keySyms.map = ephyrKeySyms.map;
ki->name = KdSaveString("Xephyr virtual keyboard"); ki->name = strdup("Xephyr virtual keyboard");
ephyrKbd = ki; ephyrKbd = ki;
return Success; return Success;
} }

View File

@ -77,7 +77,7 @@ BusInit (KdPointerInfo *pi)
close(fd); close(fd);
if (pi->path) if (pi->path)
xfree(pi->path); xfree(pi->path);
pi->path = KdSaveString(BusNames[i]); pi->path = strdup(BusNames[i]);
return Success; return Success;
} }
} }

View File

@ -209,7 +209,7 @@ EvdevPtrInit (KdPointerInfo *pi)
for (i = 0; i < NUM_DEFAULT_EVDEV; i++) { for (i = 0; i < NUM_DEFAULT_EVDEV; i++) {
fd = open (kdefaultEvdev[i], 2); fd = open (kdefaultEvdev[i], 2);
if (fd >= 0) { if (fd >= 0) {
pi->path = KdSaveString (kdefaultEvdev[i]); pi->path = strdup (kdefaultEvdev[i]);
break; break;
} }
} }
@ -224,7 +224,7 @@ EvdevPtrInit (KdPointerInfo *pi)
close(fd); close(fd);
pi->name = KdSaveString("Evdev mouse"); pi->name = strdup("Evdev mouse");
return Success; return Success;
} }
@ -411,7 +411,7 @@ EvdevKbdInit (KdKeyboardInfo *ki)
close (fd); close (fd);
ki->name = KdSaveString("Evdev keyboard"); ki->name = strdup("Evdev keyboard");
readMapping(ki); readMapping(ki);

View File

@ -737,10 +737,10 @@ LinuxKeyboardInit (KdKeyboardInfo *ki)
if (ki->path) if (ki->path)
xfree(ki->path); xfree(ki->path);
ki->path = KdSaveString("console"); ki->path = strdup("console");
if (ki->name) if (ki->name)
xfree(ki->name); xfree(ki->name);
ki->name = KdSaveString("Linux console keyboard"); ki->name = strdup("Linux console keyboard");
readKernelMapping (ki); readKernelMapping (ki);

View File

@ -944,7 +944,7 @@ MouseInit (KdPointerInfo *pi)
for (i = 0; i < NUM_DEFAULT_MOUSE; i++) { for (i = 0; i < NUM_DEFAULT_MOUSE; i++) {
fd = open (kdefaultMouse[i], 2); fd = open (kdefaultMouse[i], 2);
if (fd >= 0) { if (fd >= 0) {
pi->path = KdSaveString (kdefaultMouse[i]); pi->path = strdup (kdefaultMouse[i]);
break; break;
} }
} }

View File

@ -100,9 +100,9 @@ MsInit (KdPointerInfo *pi)
return BadImplementation; return BadImplementation;
if (!pi->path || strcmp(pi->path, "auto")) if (!pi->path || strcmp(pi->path, "auto"))
pi->path = KdSaveString("/dev/mouse"); pi->path = strdup("/dev/mouse");
if (!pi->name) if (!pi->name)
pi->name = KdSaveString("Microsoft protocol mouse"); pi->name = strdup("Microsoft protocol mouse");
return Success; return Success;
} }

View File

@ -123,7 +123,7 @@ Ps2Init (KdPointerInfo *pi)
for (i = 0; i < NUM_PS2_NAMES; i++) { for (i = 0; i < NUM_PS2_NAMES; i++) {
ps2Port = open (Ps2Names[i], 0); ps2Port = open (Ps2Names[i], 0);
if (ps2Port >= 0) { if (ps2Port >= 0) {
pi->path = KdSaveString (Ps2Names[i]); pi->path = strdup (Ps2Names[i]);
break; break;
} }
} }
@ -137,7 +137,7 @@ Ps2Init (KdPointerInfo *pi)
close(ps2Port); close(ps2Port);
if (!pi->name) if (!pi->name)
pi->name = KdSaveString ("PS/2 Mouse"); pi->name = strdup ("PS/2 Mouse");
return Success; return Success;
} }

View File

@ -114,7 +114,7 @@ TslibEnable (KdPointerInfo *pi)
private->raw_event_hook = NULL; private->raw_event_hook = NULL;
private->raw_event_closure = NULL; private->raw_event_closure = NULL;
if (!pi->path) { if (!pi->path) {
pi->path = "/dev/input/touchscreen0"; pi->path = strdup("/dev/input/touchscreen0");
ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path); ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path);
} }
private->tsDev = ts_open(pi->path, 0); private->tsDev = ts_open(pi->path, 0);
@ -169,7 +169,7 @@ TslibInit (KdPointerInfo *pi)
/* hacktastic */ /* hacktastic */
private->phys_screen = 0; private->phys_screen = 0;
pi->nAxes = 3; pi->nAxes = 3;
pi->name = KdSaveString("Touchscreen"); pi->name = strdup("Touchscreen");
pi->inputClass = KD_TOUCHSCREEN; pi->inputClass = KD_TOUCHSCREEN;
return Success; return Success;

View File

@ -521,17 +521,6 @@ KdParseScreen (KdScreenInfo *screen,
* {NMO} Reorder buttons * {NMO} Reorder buttons
*/ */
char *
KdSaveString (char *str)
{
char *n = (char *) xalloc (strlen (str) + 1);
if (!n)
return 0;
strcpy (n, str);
return n;
}
void void
KdParseRgba (char *rgba) KdParseRgba (char *rgba)
{ {
@ -1382,12 +1371,6 @@ DPMSSet(ClientPtr client, int level)
{ {
} }
int
DPMSGet (int *level)
{
return -1;
}
Bool Bool
DPMSSupported (void) DPMSSupported (void)
{ {

View File

@ -24,6 +24,7 @@
#define _KDRIVE_H_ #define _KDRIVE_H_
#include <stdio.h> #include <stdio.h>
#include <string.h>
#include <X11/X.h> #include <X11/X.h>
#include <X11/Xproto.h> #include <X11/Xproto.h>
#include <X11/Xos.h> #include <X11/Xos.h>
@ -468,9 +469,6 @@ void
KdParseScreen (KdScreenInfo *screen, KdParseScreen (KdScreenInfo *screen,
char *arg); char *arg);
char *
KdSaveString (char *str);
KdPointerInfo * KdPointerInfo *
KdParsePointer (char *arg); KdParsePointer (char *arg);

View File

@ -118,7 +118,7 @@ KdNewPointer (void)
if (!pi) if (!pi)
return NULL; return NULL;
pi->name = KdSaveString("Generic Pointer"); pi->name = strdup("Generic Pointer");
pi->path = NULL; pi->path = NULL;
pi->inputClass = KD_MOUSE; pi->inputClass = KD_MOUSE;
pi->driver = NULL; pi->driver = NULL;

View File

@ -870,9 +870,9 @@ KdNewKeyboard (void)
ki->bellDuration = 200; ki->bellDuration = 200;
ki->next = NULL; ki->next = NULL;
ki->options = NULL; ki->options = NULL;
ki->xkbRules = KdSaveString("base"); ki->xkbRules = strdup("base");
ki->xkbModel = KdSaveString("pc105"); ki->xkbModel = strdup("pc105");
ki->xkbLayout = KdSaveString("us"); ki->xkbLayout = strdup("us");
ki->xkbVariant = NULL; ki->xkbVariant = NULL;
ki->xkbOptions = NULL; ki->xkbOptions = NULL;
@ -1065,7 +1065,7 @@ KdParseKbdOptions (KdKeyboardInfo *ki)
else if (strcasecmp(option->key, "XkbOptions") == 0) else if (strcasecmp(option->key, "XkbOptions") == 0)
ki->xkbOptions = option->value; ki->xkbOptions = option->value;
else if (!strcasecmp (option->key, "device")) else if (!strcasecmp (option->key, "device"))
ki->path = KdSaveString(option->value); ki->path = strdup(option->value);
else else
ErrorF("Kbd option key (%s) of value (%s) not assigned!\n", ErrorF("Kbd option key (%s) of value (%s) not assigned!\n",
option->key, option->value); option->key, option->value);
@ -1161,7 +1161,7 @@ KdParsePointerOptions (KdPointerInfo *pi)
else if (!strcmp (option->key, "rawcoord")) else if (!strcmp (option->key, "rawcoord"))
pi->transformCoordinates = FALSE; pi->transformCoordinates = FALSE;
else if (!strcasecmp (option->key, "device")) else if (!strcasecmp (option->key, "device"))
pi->path = KdSaveString(option->value); pi->path = strdup(option->value);
else else
ErrorF("Pointer option key (%s) of value (%s) not assigned!\n", ErrorF("Pointer option key (%s) of value (%s) not assigned!\n",
option->key, option->value); option->key, option->value);
@ -2280,9 +2280,9 @@ NewInputDeviceRequest(InputOption *options, DeviceIntPtr *pdev)
for (option = options; option; option = option->next) { for (option = options; option; option = option->next) {
if (strcmp(option->key, "device") == 0) { if (strcmp(option->key, "device") == 0) {
if (pi && option->value) if (pi && option->value)
pi->path = KdSaveString(option->value); pi->path = strdup(option->value);
else if (ki && option->value) else if (ki && option->value)
ki->path = KdSaveString(option->value); ki->path = strdup(option->value);
} }
else if (strcmp(option->key, "driver") == 0) { else if (strcmp(option->key, "driver") == 0) {
if (pi) { if (pi) {

View File

@ -56,9 +56,6 @@ BEGIN {
print "#include <xorg-config.h>" print "#include <xorg-config.h>"
print "#endif" print "#endif"
print "" print ""
print "#ifdef __UNIXOS2__"
print "#define I_NEED_OS2_H"
print "#endif"
print "#include \"xf86.h\"" print "#include \"xf86.h\""
print "#include \"xf86Config.h\"" print "#include \"xf86Config.h\""
print "#include \"xf86Priv.h\"" print "#include \"xf86Priv.h\""

View File

@ -1,4 +1,3 @@
/* /*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc. * Copyright (c) 1997-2003 by The XFree86 Project, Inc.
* *
@ -175,7 +174,6 @@ extern _X_EXPORT DisplayModePtr xf86CVTMode(int HDisplay, int VDisplay, float VR
extern _X_EXPORT Bool xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set, int flags); extern _X_EXPORT Bool xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set, int flags);
#ifdef DPMSExtension #ifdef DPMSExtension
extern _X_EXPORT int DPMSGet(int *level);
extern _X_EXPORT int DPMSSet(ClientPtr client, int level); extern _X_EXPORT int DPMSSet(ClientPtr client, int level);
extern _X_EXPORT Bool DPMSSupported(void); extern _X_EXPORT Bool DPMSSupported(void);
#endif #endif

View File

@ -172,6 +172,8 @@ videoPtrToDriverList(struct pci_device *dev,
case 0x8086: case 0x8086:
if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) { if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) {
driverList[0] = "i740"; driverList[0] = "i740";
} else if (dev->device_id == 0x8108) {
break; /* "hooray" for poulsbo */
} else { } else {
driverList[0] = "intel"; driverList[0] = "intel";
driverList[1] = "i810"; driverList[1] = "i810";

View File

@ -986,21 +986,21 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
i = -1; i = -1;
xf86GetOptValInteger(FlagOptions, FLAG_DPMS_STANDBYTIME, &i); xf86GetOptValInteger(FlagOptions, FLAG_DPMS_STANDBYTIME, &i);
if ((i >= 0) && (i < MAX_TIME_IN_MIN)) if ((i >= 0) && (i < MAX_TIME_IN_MIN))
DPMSStandbyTime = defaultDPMSStandbyTime = i * MILLI_PER_MIN; DPMSStandbyTime = i * MILLI_PER_MIN;
else if (i != -1) else if (i != -1)
xf86ConfigError("StandbyTime value %d outside legal range of 0 - %d minutes", xf86ConfigError("StandbyTime value %d outside legal range of 0 - %d minutes",
i, MAX_TIME_IN_MIN); i, MAX_TIME_IN_MIN);
i = -1; i = -1;
xf86GetOptValInteger(FlagOptions, FLAG_DPMS_SUSPENDTIME, &i); xf86GetOptValInteger(FlagOptions, FLAG_DPMS_SUSPENDTIME, &i);
if ((i >= 0) && (i < MAX_TIME_IN_MIN)) if ((i >= 0) && (i < MAX_TIME_IN_MIN))
DPMSSuspendTime = defaultDPMSSuspendTime = i * MILLI_PER_MIN; DPMSSuspendTime = i * MILLI_PER_MIN;
else if (i != -1) else if (i != -1)
xf86ConfigError("SuspendTime value %d outside legal range of 0 - %d minutes", xf86ConfigError("SuspendTime value %d outside legal range of 0 - %d minutes",
i, MAX_TIME_IN_MIN); i, MAX_TIME_IN_MIN);
i = -1; i = -1;
xf86GetOptValInteger(FlagOptions, FLAG_DPMS_OFFTIME, &i); xf86GetOptValInteger(FlagOptions, FLAG_DPMS_OFFTIME, &i);
if ((i >= 0) && (i < MAX_TIME_IN_MIN)) if ((i >= 0) && (i < MAX_TIME_IN_MIN))
DPMSOffTime = defaultDPMSOffTime = i * MILLI_PER_MIN; DPMSOffTime = i * MILLI_PER_MIN;
else if (i != -1) else if (i != -1)
xf86ConfigError("OffTime value %d outside legal range of 0 - %d minutes", xf86ConfigError("OffTime value %d outside legal range of 0 - %d minutes",
i, MAX_TIME_IN_MIN); i, MAX_TIME_IN_MIN);

View File

@ -260,7 +260,7 @@ configureInputSection (void)
#endif #endif
} }
mouse = xf86confcalloc(1, sizeof(XF86ConfInputRec)); mouse = calloc(1, sizeof(XF86ConfInputRec));
mouse->inp_identifier = "Mouse0"; mouse->inp_identifier = "Mouse0";
mouse->inp_driver = "mouse"; mouse->inp_driver = "mouse";
mouse->inp_option_lst = mouse->inp_option_lst =
@ -285,18 +285,18 @@ configureScreenSection (int screennum)
int depths[] = { 1, 4, 8, 15, 16, 24/*, 32*/ }; int depths[] = { 1, 4, 8, 15, 16, 24/*, 32*/ };
parsePrologue (XF86ConfScreenPtr, XF86ConfScreenRec) parsePrologue (XF86ConfScreenPtr, XF86ConfScreenRec)
ptr->scrn_identifier = xf86confmalloc(18); ptr->scrn_identifier = malloc(18);
sprintf(ptr->scrn_identifier, "Screen%d", screennum); sprintf(ptr->scrn_identifier, "Screen%d", screennum);
ptr->scrn_monitor_str = xf86confmalloc(19); ptr->scrn_monitor_str = malloc(19);
sprintf(ptr->scrn_monitor_str, "Monitor%d", screennum); sprintf(ptr->scrn_monitor_str, "Monitor%d", screennum);
ptr->scrn_device_str = xf86confmalloc(16); ptr->scrn_device_str = malloc(16);
sprintf(ptr->scrn_device_str, "Card%d", screennum); sprintf(ptr->scrn_device_str, "Card%d", screennum);
for (i=0; i<sizeof(depths)/sizeof(depths[0]); i++) for (i=0; i<sizeof(depths)/sizeof(depths[0]); i++)
{ {
XF86ConfDisplayPtr display; XF86ConfDisplayPtr display;
display = xf86confcalloc(1, sizeof(XF86ConfDisplayRec)); display = calloc(1, sizeof(XF86ConfDisplayRec));
display->disp_depth = depths[i]; display->disp_depth = depths[i];
display->disp_black.red = display->disp_white.red = -1; display->disp_black.red = display->disp_white.red = -1;
display->disp_black.green = display->disp_white.green = -1; display->disp_black.green = display->disp_white.green = -1;
@ -419,7 +419,7 @@ configureLayoutSection (void)
{ {
XF86ConfInputrefPtr iptr; XF86ConfInputrefPtr iptr;
iptr = xf86confmalloc (sizeof (XF86ConfInputrefRec)); iptr = malloc (sizeof (XF86ConfInputrefRec));
iptr->list.next = NULL; iptr->list.next = NULL;
iptr->iref_option_lst = NULL; iptr->iref_option_lst = NULL;
iptr->iref_inputdev_str = "Mouse0"; iptr->iref_inputdev_str = "Mouse0";
@ -432,7 +432,7 @@ configureLayoutSection (void)
{ {
XF86ConfInputrefPtr iptr; XF86ConfInputrefPtr iptr;
iptr = xf86confmalloc (sizeof (XF86ConfInputrefRec)); iptr = malloc (sizeof (XF86ConfInputrefRec));
iptr->list.next = NULL; iptr->list.next = NULL;
iptr->iref_option_lst = NULL; iptr->iref_option_lst = NULL;
iptr->iref_inputdev_str = "Keyboard0"; iptr->iref_inputdev_str = "Keyboard0";
@ -445,7 +445,7 @@ configureLayoutSection (void)
for (scrnum = 0; scrnum < nDevToConfig; scrnum++) { for (scrnum = 0; scrnum < nDevToConfig; scrnum++) {
XF86ConfAdjacencyPtr aptr; XF86ConfAdjacencyPtr aptr;
aptr = xf86confmalloc (sizeof (XF86ConfAdjacencyRec)); aptr = malloc (sizeof (XF86ConfAdjacencyRec));
aptr->list.next = NULL; aptr->list.next = NULL;
aptr->adj_x = 0; aptr->adj_x = 0;
aptr->adj_y = 0; aptr->adj_y = 0;
@ -494,7 +494,7 @@ configureModuleSection (void)
for (el = elist; *el; el++) { for (el = elist; *el; el++) {
XF86LoadPtr module; XF86LoadPtr module;
module = xf86confcalloc(1, sizeof(XF86LoadRec)); module = calloc(1, sizeof(XF86LoadRec));
module->load_name = *el; module->load_name = *el;
ptr->mod_load_lst = (XF86LoadPtr)xf86addListItem( ptr->mod_load_lst = (XF86LoadPtr)xf86addListItem(
(glp)ptr->mod_load_lst, (glp)module); (glp)ptr->mod_load_lst, (glp)module);
@ -523,7 +523,7 @@ configureMonitorSection (int screennum)
{ {
parsePrologue (XF86ConfMonitorPtr, XF86ConfMonitorRec) parsePrologue (XF86ConfMonitorPtr, XF86ConfMonitorRec)
ptr->mon_identifier = xf86confmalloc(19); ptr->mon_identifier = malloc(19);
sprintf(ptr->mon_identifier, "Monitor%d", screennum); sprintf(ptr->mon_identifier, "Monitor%d", screennum);
ptr->mon_vendor = strdup("Monitor Vendor"); ptr->mon_vendor = strdup("Monitor Vendor");
ptr->mon_modelname = strdup("Monitor Model"); ptr->mon_modelname = strdup("Monitor Model");
@ -542,10 +542,10 @@ configureDDCMonitorSection (int screennum)
parsePrologue (XF86ConfMonitorPtr, XF86ConfMonitorRec) parsePrologue (XF86ConfMonitorPtr, XF86ConfMonitorRec)
ptr->mon_identifier = xf86confmalloc(19); ptr->mon_identifier = malloc(19);
sprintf(ptr->mon_identifier, "Monitor%d", screennum); sprintf(ptr->mon_identifier, "Monitor%d", screennum);
ptr->mon_vendor = strdup(ConfiguredMonitor->vendor.name); ptr->mon_vendor = strdup(ConfiguredMonitor->vendor.name);
ptr->mon_modelname = xf86confmalloc(12); ptr->mon_modelname = malloc(12);
sprintf(ptr->mon_modelname, "%x", ConfiguredMonitor->vendor.prod_id); sprintf(ptr->mon_modelname, "%x", ConfiguredMonitor->vendor.prod_id);
/* features in centimetres, we want millimetres */ /* features in centimetres, we want millimetres */
@ -570,8 +570,7 @@ configureDDCMonitorSection (int screennum)
len = 0; len = 0;
} }
if ((ptr->mon_comment = if ((ptr->mon_comment =
xf86confrealloc(ptr->mon_comment, realloc(ptr->mon_comment, len+strlen(displaySize_string)))) {
len+strlen(displaySize_string)))) {
strcpy(ptr->mon_comment + len, displaySize_string); strcpy(ptr->mon_comment + len, displaySize_string);
} }
} }
@ -581,7 +580,7 @@ configureDDCMonitorSection (int screennum)
for (i=0;i<4;i++) { for (i=0;i<4;i++) {
switch (ConfiguredMonitor->det_mon[i].type) { switch (ConfiguredMonitor->det_mon[i].type) {
case DS_NAME: case DS_NAME:
ptr->mon_modelname = xf86confrealloc(ptr->mon_modelname, ptr->mon_modelname = realloc(ptr->mon_modelname,
strlen((char*)(ConfiguredMonitor->det_mon[i].section.name)) strlen((char*)(ConfiguredMonitor->det_mon[i].section.name))
+ 1); + 1);
strcpy(ptr->mon_modelname, strcpy(ptr->mon_modelname,

View File

@ -1,4 +1,3 @@
/* /*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc. * Copyright (c) 1997-2003 by The XFree86 Project, Inc.
* *
@ -65,19 +64,17 @@ xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set, int flags)
DPMSKey = &DPMSKeyIndex; DPMSKey = &DPMSKeyIndex;
if (DPMSDisabledSwitch)
DPMSEnabled = FALSE;
if (!dixSetPrivate(&pScreen->devPrivates, DPMSKey, if (!dixSetPrivate(&pScreen->devPrivates, DPMSKey,
xcalloc(sizeof(DPMSRec), 1))) xcalloc(sizeof(DPMSRec), 1)))
return FALSE; return FALSE;
pDPMS = (DPMSPtr)dixLookupPrivate(&pScreen->devPrivates, DPMSKey); pDPMS = dixLookupPrivate(&pScreen->devPrivates, DPMSKey);
pScrn->DPMSSet = set; pScrn->DPMSSet = set;
pDPMS->Flags = flags; pDPMS->Flags = flags;
DPMSOpt = xf86FindOption(pScrn->options, "dpms"); DPMSOpt = xf86FindOption(pScrn->options, "dpms");
if (DPMSEnabledSwitch || DPMSDisabledSwitch) { if (DPMSDisabledSwitch) {
enabled_from = X_CMDLINE; enabled_from = X_CMDLINE;
DPMSEnabled = !DPMSDisabledSwitch && DPMSEnabledSwitch; DPMSEnabled = FALSE;
} }
else if (DPMSOpt) { else if (DPMSOpt) {
enabled_from = X_CONFIG; enabled_from = X_CONFIG;
@ -86,7 +83,7 @@ xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set, int flags)
} }
else { else {
enabled_from = X_DEFAULT; enabled_from = X_DEFAULT;
DPMSEnabled = defaultDPMSEnabled; DPMSEnabled = TRUE;
} }
if (DPMSEnabled) if (DPMSEnabled)
xf86DrvMsg(pScreen->myNum, enabled_from, "DPMS enabled\n"); xf86DrvMsg(pScreen->myNum, enabled_from, "DPMS enabled\n");
@ -112,7 +109,7 @@ DPMSClose(int i, ScreenPtr pScreen)
if (DPMSKey == NULL) if (DPMSKey == NULL)
return FALSE; return FALSE;
pDPMS = (DPMSPtr)dixLookupPrivate(&pScreen->devPrivates, DPMSKey); pDPMS = dixLookupPrivate(&pScreen->devPrivates, DPMSKey);
/* This shouldn't happen */ /* This shouldn't happen */
if (!pDPMS) if (!pDPMS)
@ -130,7 +127,7 @@ DPMSClose(int i, ScreenPtr pScreen)
xf86Screens[i]->DPMSSet(xf86Screens[i],DPMSModeOn,0); xf86Screens[i]->DPMSSet(xf86Screens[i],DPMSModeOn,0);
} }
xfree((pointer)pDPMS); xfree(pDPMS);
dixSetPrivate(&pScreen->devPrivates, DPMSKey, NULL); dixSetPrivate(&pScreen->devPrivates, DPMSKey, NULL);
if (--DPMSCount == 0) if (--DPMSCount == 0)
DPMSKey = NULL; DPMSKey = NULL;
@ -164,8 +161,7 @@ DPMSSet(ClientPtr client, int level)
/* For each screen, set the DPMS level */ /* For each screen, set the DPMS level */
for (i = 0; i < xf86NumScreens; i++) { for (i = 0; i < xf86NumScreens; i++) {
pScrn = xf86Screens[i]; pScrn = xf86Screens[i];
pDPMS = (DPMSPtr)dixLookupPrivate(&screenInfo.screens[i]->devPrivates, pDPMS = dixLookupPrivate(&screenInfo.screens[i]->devPrivates, DPMSKey);
DPMSKey);
if (pDPMS && pScrn->DPMSSet && pDPMS->Enabled && pScrn->vtSema) { if (pDPMS && pScrn->DPMSSet && pDPMS->Enabled && pScrn->vtSema) {
xf86EnableAccess(pScrn); xf86EnableAccess(pScrn);
pScrn->DPMSSet(pScrn, level, 0); pScrn->DPMSSet(pScrn, level, 0);
@ -193,33 +189,11 @@ DPMSSupported(void)
/* For each screen, check if DPMS is supported */ /* For each screen, check if DPMS is supported */
for (i = 0; i < xf86NumScreens; i++) { for (i = 0; i < xf86NumScreens; i++) {
pScrn = xf86Screens[i]; pScrn = xf86Screens[i];
pDPMS = (DPMSPtr)dixLookupPrivate(&screenInfo.screens[i]->devPrivates, pDPMS = dixLookupPrivate(&screenInfo.screens[i]->devPrivates, DPMSKey);
DPMSKey);
if (pDPMS && pScrn->DPMSSet) if (pDPMS && pScrn->DPMSSet)
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
} }
/*
* DPMSGet --
* Device dependent DPMS mode getting hook. This returns the current
* DPMS mode, or -1 if DPMS is not supported.
*
* This should hook in to the appropriate driver-level function, which
* will be added to the ScrnInfoRec.
*
* NOTES:
* 1. the calling interface should be changed to specify which
* screen to check.
* 2. It isn't clear that this function is ever used or what it should
* return.
*/
int
DPMSGet(int *level)
{
return DPMSPowerLevel;
}
#endif /* DPMSExtension */ #endif /* DPMSExtension */

View File

@ -770,23 +770,6 @@ xf86EnableVTSwitch(Bool new)
return old; return old;
} }
void
xf86ReloadInputDevs(int sig)
{
InputInfoPtr pInfo;
signal(sig, (void(*)(int))xf86ReloadInputDevs);
pInfo = xf86InputDevs;
while (pInfo) {
DisableDevice(pInfo->dev);
EnableDevice(pInfo->dev);
pInfo = pInfo->next;
}
return;
}
void void
DDXRingBell(int volume, int pitch, int duration) { DDXRingBell(int volume, int pitch, int duration) {
xf86OSRingBell(volume, pitch, duration); xf86OSRingBell(volume, pitch, duration);

View File

@ -108,9 +108,6 @@ extern _X_EXPORT RootWinPropPtr *xf86RegisteredPropertiesTable;
#define DEFAULT_DPI 96 #define DEFAULT_DPI 96
#endif #endif
#define DEFAULT_UNRESOLVED TRUE
#define DEFAULT_BEST_REFRESH FALSE
/* Function Prototypes */ /* Function Prototypes */
#ifndef _NO_XF86_PROTOTYPES #ifndef _NO_XF86_PROTOTYPES

View File

@ -868,7 +868,8 @@ doLoadModule(const char *module, const char *path, const char **subdirlist,
if (!strcmp (m, *cim)) if (!strcmp (m, *cim))
{ {
xf86MsgVerb(X_INFO, 3, "Module \"%s\" already built-in\n", m); xf86MsgVerb(X_INFO, 3, "Module \"%s\" already built-in\n", m);
return (ModuleDescPtr) 1; ret = (ModuleDescPtr) 1;
goto LoadModule_exit;
} }
if (!name) { if (!name) {

View File

@ -155,6 +155,11 @@ static Bool quirk_detailed_v_in_cm (int scrnIndex, xf86MonPtr DDC)
DDC->vendor.prod_id == 13600) DDC->vendor.prod_id == 13600)
return TRUE; return TRUE;
/* Bug #21000: LGPhilipsLCD LP154W01-TLAJ */
if (memcmp (DDC->vendor.name, "LPL", 4) == 0 &&
DDC->vendor.prod_id == 47360)
return TRUE;
return FALSE; return FALSE;
} }

View File

@ -122,7 +122,7 @@ xf86OSPMOpen(void)
} }
xf86PMGetEventFromOs = bsdPMGetEventFromOS; xf86PMGetEventFromOs = bsdPMGetEventFromOS;
xf86PMConfirmEventToOs = bsdPMConfirmEventToOs; xf86PMConfirmEventToOs = bsdPMConfirmEventToOs;
APMihPtr = xf86AddInputHandler(fd, xf86HandlePMEvents, NULL); APMihPtr = xf86AddGeneralHandler(fd, xf86HandlePMEvents, NULL);
return bsdCloseAPM; return bsdCloseAPM;
} }
@ -132,7 +132,7 @@ bsdCloseAPM(void)
int fd; int fd;
if (APMihPtr) { if (APMihPtr) {
fd = xf86RemoveInputHandler(APMihPtr); fd = xf86RemoveGeneralHandler(APMihPtr);
close(fd); close(fd);
APMihPtr = NULL; APMihPtr = NULL;
} }

View File

@ -178,7 +178,7 @@ xf86OSPMOpen(void)
xf86PMGetEventFromOs = bsdPMGetEventFromOS; xf86PMGetEventFromOs = bsdPMGetEventFromOS;
xf86PMConfirmEventToOs = bsdPMConfirmEventToOs; xf86PMConfirmEventToOs = bsdPMConfirmEventToOs;
APMihPtr = xf86AddInputHandler(kq, xf86HandlePMEvents, NULL); APMihPtr = xf86AddGeneralHandler(kq, xf86HandlePMEvents, NULL);
return bsdCloseAPM; return bsdCloseAPM;
} }
@ -188,7 +188,7 @@ bsdCloseAPM(void)
int kq; int kq;
if (APMihPtr) { if (APMihPtr) {
kq = xf86RemoveInputHandler(APMihPtr); kq = xf86RemoveGeneralHandler(APMihPtr);
close(devFd); close(devFd);
devFd = -1; devFd = -1;
close(kq); close(kq);

View File

@ -180,11 +180,10 @@ lnxAPMOpen(void)
close(pfd); close(pfd);
xf86PMGetEventFromOs = lnxPMGetEventFromOs; xf86PMGetEventFromOs = lnxPMGetEventFromOs;
xf86PMConfirmEventToOs = lnxPMConfirmEventToOs; xf86PMConfirmEventToOs = lnxPMConfirmEventToOs;
APMihPtr = xf86AddInputHandler(fd,xf86HandlePMEvents,NULL); APMihPtr = xf86AddGeneralHandler(fd, xf86HandlePMEvents, NULL);
xf86MsgVerb(X_INFO,3,"Open APM successful\n"); xf86MsgVerb(X_INFO,3,"Open APM successful\n");
return lnxCloseAPM; return lnxCloseAPM;
} }
xf86MsgVerb(X_INFO,3,"No APM support in BIOS or kernel\n");
return NULL; return NULL;
} }
@ -197,7 +196,7 @@ lnxCloseAPM(void)
ErrorF("APM: Closing device\n"); ErrorF("APM: Closing device\n");
#endif #endif
if (APMihPtr) { if (APMihPtr) {
fd = xf86RemoveInputHandler(APMihPtr); fd = xf86RemoveGeneralHandler(APMihPtr);
close(fd); close(fd);
APMihPtr = NULL; APMihPtr = NULL;
} }

View File

@ -286,7 +286,6 @@ xf86OpenConsole(void)
} else { /* ShareVTs */ } else { /* ShareVTs */
close(xf86Info.consoleFd); close(xf86Info.consoleFd);
} }
signal(SIGUSR2, xf86ReloadInputDevs);
} else { /* serverGeneration != 1 */ } else { /* serverGeneration != 1 */
if (!ShareVTs && VTSwitch) if (!ShareVTs && VTSwitch)
{ {

View File

@ -215,7 +215,7 @@ xf86OSPMOpen(void)
} }
xf86PMGetEventFromOs = sunPMGetEventFromOS; xf86PMGetEventFromOs = sunPMGetEventFromOS;
xf86PMConfirmEventToOs = sunPMConfirmEventToOs; xf86PMConfirmEventToOs = sunPMConfirmEventToOs;
APMihPtr = xf86AddInputHandler(fd, xf86HandlePMEvents, NULL); APMihPtr = xf86AddGeneralHandler(fd, xf86HandlePMEvents, NULL);
return sunCloseAPM; return sunCloseAPM;
} }
@ -225,7 +225,7 @@ sunCloseAPM(void)
int fd; int fd;
if (APMihPtr) { if (APMihPtr) {
fd = xf86RemoveInputHandler(APMihPtr); fd = xf86RemoveGeneralHandler(APMihPtr);
close(fd); close(fd);
APMihPtr = NULL; APMihPtr = NULL;
} }

View File

@ -212,7 +212,6 @@ extern _X_EXPORT Bool xf86VTSwitchTo(void);
extern _X_EXPORT void xf86VTRequest(int sig); extern _X_EXPORT void xf86VTRequest(int sig);
extern _X_EXPORT int xf86ProcessArgument(int, char **, int); extern _X_EXPORT int xf86ProcessArgument(int, char **, int);
extern _X_EXPORT void xf86UseMsg(void); extern _X_EXPORT void xf86UseMsg(void);
extern _X_EXPORT void xf86ReloadInputDevs(int sig);
extern _X_EXPORT PMClose xf86OSPMOpen(void); extern _X_EXPORT PMClose xf86OSPMOpen(void);
#ifdef NEED_OS_RAC_PROTOS #ifdef NEED_OS_RAC_PROTOS

View File

@ -92,18 +92,14 @@ LexRec, *LexPtr;
#include "configProcs.h" #include "configProcs.h"
#include <stdlib.h> #include <stdlib.h>
#define xf86confmalloc malloc
#define xf86confrealloc realloc
#define xf86confcalloc calloc
#define xf86conffree free
#define TestFree(a) if (a) { xf86conffree (a); a = NULL; } #define TestFree(a) if (a) { free (a); a = NULL; }
#define parsePrologue(typeptr,typerec) typeptr ptr; \ #define parsePrologue(typeptr,typerec) typeptr ptr; \
if( (ptr=(typeptr)xf86confcalloc(1,sizeof(typerec))) == NULL ) { return NULL; } if( (ptr=calloc(1,sizeof(typerec))) == NULL ) { return NULL; }
#define parsePrologueVoid(typeptr,typerec) int token; typeptr ptr; \ #define parsePrologueVoid(typeptr,typerec) int token; typeptr ptr; \
if( (ptr=(typeptr)xf86confcalloc(1,sizeof(typerec))) == NULL ) { return; } if( (ptr=calloc(1,sizeof(typerec))) == NULL ) { return; }
#define HANDLE_RETURN(f,func)\ #define HANDLE_RETURN(f,func)\
if ((ptr->f=func) == NULL)\ if ((ptr->f=func) == NULL)\

View File

@ -58,7 +58,7 @@ xf86freeBuffersList (XF86ConfBuffersPtr ptr)
TestFree (ptr->buf_comment); TestFree (ptr->buf_comment);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -183,5 +183,5 @@ xf86freeDRI (XF86ConfDRIPtr ptr)
xf86freeBuffersList (ptr->dri_buffers_lst); xf86freeBuffersList (ptr->dri_buffers_lst);
TestFree (ptr->dri_comment); TestFree (ptr->dri_comment);
xf86conffree (ptr); free (ptr);
} }

View File

@ -353,7 +353,7 @@ xf86freeDeviceList (XF86ConfDevicePtr ptr)
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -369,14 +369,3 @@ xf86findDevice (const char *ident, XF86ConfDevicePtr p)
} }
return (NULL); return (NULL);
} }
char *
xf86configStrdup (const char *s)
{
char *tmp;
if (!s) return NULL;
tmp = xf86confmalloc (sizeof (char) * (strlen (s) + 1));
if (tmp)
strcpy (tmp, s);
return (tmp);
}

View File

@ -107,5 +107,5 @@ xf86freeExtensions (XF86ConfExtensionsPtr ptr)
xf86optionListFree (ptr->ext_option_lst); xf86optionListFree (ptr->ext_option_lst);
TestFree (ptr->extensions_comment); TestFree (ptr->extensions_comment);
xf86conffree (ptr); free (ptr);
} }

View File

@ -103,7 +103,7 @@ xf86parseFilesSection (void)
str = val.str; str = val.str;
if (ptr->file_fontpath == NULL) if (ptr->file_fontpath == NULL)
{ {
ptr->file_fontpath = xf86confmalloc (1); ptr->file_fontpath = malloc (1);
ptr->file_fontpath[0] = '\0'; ptr->file_fontpath[0] = '\0';
i = strlen (str) + 1; i = strlen (str) + 1;
} }
@ -117,12 +117,12 @@ xf86parseFilesSection (void)
} }
} }
ptr->file_fontpath = ptr->file_fontpath =
xf86confrealloc (ptr->file_fontpath, i); realloc (ptr->file_fontpath, i);
if (j) if (j)
strcat (ptr->file_fontpath, ","); strcat (ptr->file_fontpath, ",");
strcat (ptr->file_fontpath, str); strcat (ptr->file_fontpath, str);
xf86conffree (val.str); free (val.str);
break; break;
case MODULEPATH: case MODULEPATH:
if (xf86getSubToken (&(ptr->file_comment)) != STRING) if (xf86getSubToken (&(ptr->file_comment)) != STRING)
@ -131,7 +131,7 @@ xf86parseFilesSection (void)
str = val.str; str = val.str;
if (ptr->file_modulepath == NULL) if (ptr->file_modulepath == NULL)
{ {
ptr->file_modulepath = xf86confmalloc (1); ptr->file_modulepath = malloc (1);
ptr->file_modulepath[0] = '\0'; ptr->file_modulepath[0] = '\0';
k = strlen (str) + 1; k = strlen (str) + 1;
} }
@ -144,12 +144,12 @@ xf86parseFilesSection (void)
l = TRUE; l = TRUE;
} }
} }
ptr->file_modulepath = xf86confrealloc (ptr->file_modulepath, k); ptr->file_modulepath = realloc (ptr->file_modulepath, k);
if (l) if (l)
strcat (ptr->file_modulepath, ","); strcat (ptr->file_modulepath, ",");
strcat (ptr->file_modulepath, str); strcat (ptr->file_modulepath, str);
xf86conffree (val.str); free (val.str);
break; break;
case LOGFILEPATH: case LOGFILEPATH:
if (xf86getSubToken (&(ptr->file_comment)) != STRING) if (xf86getSubToken (&(ptr->file_comment)) != STRING)
@ -241,5 +241,5 @@ xf86freeFiles (XF86ConfFilesPtr p)
TestFree (p->file_comment); TestFree (p->file_comment);
TestFree (p->file_xkbdir); TestFree (p->file_xkbdir);
xf86conffree (p); free (p);
} }

View File

@ -1,5 +1,4 @@
/* /*
*
* Copyright (c) 1997 Metro Link Incorporated * Copyright (c) 1997 Metro Link Incorporated
* *
* Permission is hereby granted, free of charge, to any person obtaining a * Permission is hereby granted, free of charge, to any person obtaining a
@ -134,7 +133,7 @@ xf86parseFlagsSection (void)
{ {
char *valstr = NULL; char *valstr = NULL;
/* can't use strdup because it calls malloc */ /* can't use strdup because it calls malloc */
tmp = xf86configStrdup (ServerFlagsTab[i].name); tmp = strdup (ServerFlagsTab[i].name);
if (hasvalue) if (hasvalue)
{ {
tokentype = xf86getSubToken(&(ptr->flg_comment)); tokentype = xf86getSubToken(&(ptr->flg_comment));
@ -145,7 +144,7 @@ xf86parseFlagsSection (void)
} else { } else {
if (tokentype != NUMBER) if (tokentype != NUMBER)
Error (NUMBER_MSG, tmp); Error (NUMBER_MSG, tmp);
valstr = xf86confmalloc(16); valstr = malloc(16);
if (valstr) if (valstr)
sprintf(valstr, "%d", val.num); sprintf(valstr, "%d", val.num);
} }
@ -202,11 +201,11 @@ addNewOption2 (XF86OptionPtr head, char *name, char *val, int used)
/* Don't allow duplicates, free old strings */ /* Don't allow duplicates, free old strings */
if (head != NULL && (old = xf86findOption(head, name)) != NULL) { if (head != NULL && (old = xf86findOption(head, name)) != NULL) {
new = old; new = old;
xf86conffree(new->opt_name); free(new->opt_name);
xf86conffree(new->opt_val); free(new->opt_val);
} }
else else
new = xf86confcalloc (1, sizeof (XF86OptionRec)); new = calloc (1, sizeof (XF86OptionRec));
new->opt_name = name; new->opt_name = name;
new->opt_val = val; new->opt_val = val;
new->opt_used = used; new->opt_used = used;
@ -229,7 +228,7 @@ xf86freeFlags (XF86ConfFlagsPtr flags)
return; return;
xf86optionListFree (flags->flg_option_lst); xf86optionListFree (flags->flg_option_lst);
TestFree(flags->flg_comment); TestFree(flags->flg_comment);
xf86conffree (flags); free (flags);
} }
XF86OptionPtr XF86OptionPtr
@ -239,11 +238,11 @@ xf86optionListDup (XF86OptionPtr opt)
while (opt) while (opt)
{ {
newopt = xf86addNewOption(newopt, xf86configStrdup(opt->opt_name), newopt = xf86addNewOption(newopt, strdup(opt->opt_name),
xf86configStrdup(opt->opt_val)); strdup(opt->opt_val));
newopt->opt_used = opt->opt_used; newopt->opt_used = opt->opt_used;
if (opt->opt_comment) if (opt->opt_comment)
newopt->opt_comment = xf86configStrdup(opt->opt_comment); newopt->opt_comment = strdup(opt->opt_comment);
opt = opt->list.next; opt = opt->list.next;
} }
return newopt; return newopt;
@ -261,7 +260,7 @@ xf86optionListFree (XF86OptionPtr opt)
TestFree (opt->opt_comment); TestFree (opt->opt_comment);
prev = opt; prev = opt;
opt = opt->list.next; opt = opt->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -286,7 +285,7 @@ xf86newOption(char *name, char *value)
{ {
XF86OptionPtr opt; XF86OptionPtr opt;
opt = xf86confcalloc(1, sizeof (XF86OptionRec)); opt = calloc(1, sizeof (XF86OptionRec));
if (!opt) if (!opt)
return NULL; return NULL;
@ -366,10 +365,10 @@ xf86optionListCreate( const char **options, int count, int used )
for (i = 0; i < count; i += 2) for (i = 0; i < count; i += 2)
{ {
/* can't use strdup because it calls malloc */ /* can't use strdup because it calls malloc */
t1 = xf86confmalloc (sizeof (char) * t1 = malloc (sizeof (char) *
(strlen (options[i]) + 1)); (strlen (options[i]) + 1));
strcpy (t1, options[i]); strcpy (t1, options[i]);
t2 = xf86confmalloc (sizeof (char) * t2 = malloc (sizeof (char) *
(strlen (options[i + 1]) + 1)); (strlen (options[i + 1]) + 1));
strcpy (t2, options[i + 1]); strcpy (t2, options[i + 1]);
p = addNewOption2 (p, t1, t2, used); p = addNewOption2 (p, t1, t2, used);
@ -435,7 +434,7 @@ xf86uLongToString(unsigned long i)
int l; int l;
l = (int)(ceil(log10((double)i) + 2.5)); l = (int)(ceil(log10((double)i) + 2.5));
s = xf86confmalloc(l); s = malloc(l);
if (!s) if (!s)
return NULL; return NULL;
sprintf(s, "%lu", i); sprintf(s, "%lu", i);
@ -452,7 +451,7 @@ xf86parseOption(XF86OptionPtr head)
if ((token = xf86getSubToken(&comment)) != STRING) { if ((token = xf86getSubToken(&comment)) != STRING) {
xf86parseError(BAD_OPTION_MSG, NULL); xf86parseError(BAD_OPTION_MSG, NULL);
if (comment) if (comment)
xf86conffree(comment); free(comment);
return (head); return (head);
} }
@ -479,10 +478,10 @@ xf86parseOption(XF86OptionPtr head)
/* Don't allow duplicates */ /* Don't allow duplicates */
if (head != NULL && (old = xf86findOption(head, name)) != NULL) { if (head != NULL && (old = xf86findOption(head, name)) != NULL) {
cnew = old; cnew = old;
xf86conffree(option->opt_name); free(option->opt_name);
TestFree(option->opt_val); TestFree(option->opt_val);
TestFree(option->opt_comment); TestFree(option->opt_comment);
xf86conffree(option); free(option);
} }
else else
cnew = option; cnew = option;

View File

@ -163,7 +163,7 @@ xf86freeInputList (XF86ConfInputPtr ptr)
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }

View File

@ -116,10 +116,10 @@ xf86parseLayoutSection (void)
{ {
XF86ConfInactivePtr iptr; XF86ConfInactivePtr iptr;
iptr = xf86confcalloc (1, sizeof (XF86ConfInactiveRec)); iptr = calloc (1, sizeof (XF86ConfInactiveRec));
iptr->list.next = NULL; iptr->list.next = NULL;
if (xf86getSubToken (&(ptr->lay_comment)) != STRING) { if (xf86getSubToken (&(ptr->lay_comment)) != STRING) {
xf86conffree (iptr); free (iptr);
Error (INACTIVE_MSG, NULL); Error (INACTIVE_MSG, NULL);
} }
iptr->inactive_device_str = val.str; iptr->inactive_device_str = val.str;
@ -132,7 +132,7 @@ xf86parseLayoutSection (void)
XF86ConfAdjacencyPtr aptr; XF86ConfAdjacencyPtr aptr;
int absKeyword = 0; int absKeyword = 0;
aptr = xf86confcalloc (1, sizeof (XF86ConfAdjacencyRec)); aptr = calloc (1, sizeof (XF86ConfAdjacencyRec));
aptr->list.next = NULL; aptr->list.next = NULL;
aptr->adj_scrnum = -1; aptr->adj_scrnum = -1;
aptr->adj_where = CONF_ADJ_OBSOLETE; aptr->adj_where = CONF_ADJ_OBSOLETE;
@ -145,7 +145,7 @@ xf86parseLayoutSection (void)
xf86unGetToken (token); xf86unGetToken (token);
token = xf86getSubToken(&(ptr->lay_comment)); token = xf86getSubToken(&(ptr->lay_comment));
if (token != STRING) { if (token != STRING) {
xf86conffree(aptr); free(aptr);
Error (SCREEN_MSG, NULL); Error (SCREEN_MSG, NULL);
} }
aptr->adj_screen_str = val.str; aptr->adj_screen_str = val.str;
@ -173,7 +173,7 @@ xf86parseLayoutSection (void)
absKeyword = 1; absKeyword = 1;
break; break;
case EOF_TOKEN: case EOF_TOKEN:
xf86conffree(aptr); free(aptr);
Error (UNEXPECTED_EOF_MSG, NULL); Error (UNEXPECTED_EOF_MSG, NULL);
break; break;
default: default:
@ -194,13 +194,13 @@ xf86parseLayoutSection (void)
aptr->adj_x = val.num; aptr->adj_x = val.num;
token = xf86getSubToken(&(ptr->lay_comment)); token = xf86getSubToken(&(ptr->lay_comment));
if (token != NUMBER) { if (token != NUMBER) {
xf86conffree(aptr); free(aptr);
Error(INVALID_SCR_MSG, NULL); Error(INVALID_SCR_MSG, NULL);
} }
aptr->adj_y = val.num; aptr->adj_y = val.num;
} else { } else {
if (absKeyword) { if (absKeyword) {
xf86conffree(aptr); free(aptr);
Error(INVALID_SCR_MSG, NULL); Error(INVALID_SCR_MSG, NULL);
} else } else
xf86unGetToken (token); xf86unGetToken (token);
@ -213,7 +213,7 @@ xf86parseLayoutSection (void)
case CONF_ADJ_RELATIVE: case CONF_ADJ_RELATIVE:
token = xf86getSubToken(&(ptr->lay_comment)); token = xf86getSubToken(&(ptr->lay_comment));
if (token != STRING) { if (token != STRING) {
xf86conffree(aptr); free(aptr);
Error(INVALID_SCR_MSG, NULL); Error(INVALID_SCR_MSG, NULL);
} }
aptr->adj_refscreen = val.str; aptr->adj_refscreen = val.str;
@ -221,13 +221,13 @@ xf86parseLayoutSection (void)
{ {
token = xf86getSubToken(&(ptr->lay_comment)); token = xf86getSubToken(&(ptr->lay_comment));
if (token != NUMBER) { if (token != NUMBER) {
xf86conffree(aptr); free(aptr);
Error(INVALID_SCR_MSG, NULL); Error(INVALID_SCR_MSG, NULL);
} }
aptr->adj_x = val.num; aptr->adj_x = val.num;
token = xf86getSubToken(&(ptr->lay_comment)); token = xf86getSubToken(&(ptr->lay_comment));
if (token != NUMBER) { if (token != NUMBER) {
xf86conffree(aptr); free(aptr);
Error(INVALID_SCR_MSG, NULL); Error(INVALID_SCR_MSG, NULL);
} }
aptr->adj_y = val.num; aptr->adj_y = val.num;
@ -239,21 +239,21 @@ xf86parseLayoutSection (void)
/* bottom */ /* bottom */
if (xf86getSubToken (&(ptr->lay_comment)) != STRING) { if (xf86getSubToken (&(ptr->lay_comment)) != STRING) {
xf86conffree(aptr); free(aptr);
Error (SCREEN_MSG, NULL); Error (SCREEN_MSG, NULL);
} }
aptr->adj_bottom_str = val.str; aptr->adj_bottom_str = val.str;
/* left */ /* left */
if (xf86getSubToken (&(ptr->lay_comment)) != STRING) { if (xf86getSubToken (&(ptr->lay_comment)) != STRING) {
xf86conffree(aptr); free(aptr);
Error (SCREEN_MSG, NULL); Error (SCREEN_MSG, NULL);
} }
aptr->adj_left_str = val.str; aptr->adj_left_str = val.str;
/* right */ /* right */
if (xf86getSubToken (&(ptr->lay_comment)) != STRING) { if (xf86getSubToken (&(ptr->lay_comment)) != STRING) {
xf86conffree(aptr); free(aptr);
Error (SCREEN_MSG, NULL); Error (SCREEN_MSG, NULL);
} }
aptr->adj_right_str = val.str; aptr->adj_right_str = val.str;
@ -267,11 +267,11 @@ xf86parseLayoutSection (void)
{ {
XF86ConfInputrefPtr iptr; XF86ConfInputrefPtr iptr;
iptr = xf86confcalloc (1, sizeof (XF86ConfInputrefRec)); iptr = calloc (1, sizeof (XF86ConfInputrefRec));
iptr->list.next = NULL; iptr->list.next = NULL;
iptr->iref_option_lst = NULL; iptr->iref_option_lst = NULL;
if (xf86getSubToken (&(ptr->lay_comment)) != STRING) { if (xf86getSubToken (&(ptr->lay_comment)) != STRING) {
xf86conffree(iptr); free(iptr);
Error (INPUTDEV_MSG, NULL); Error (INPUTDEV_MSG, NULL);
} }
iptr->iref_inputdev_str = val.str; iptr->iref_inputdev_str = val.str;
@ -397,7 +397,7 @@ xf86freeAdjacencyList (XF86ConfAdjacencyPtr ptr)
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -413,7 +413,7 @@ xf86freeInputrefList (XF86ConfInputrefPtr ptr)
xf86optionListFree (ptr->iref_option_lst); xf86optionListFree (ptr->iref_option_lst);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -431,7 +431,7 @@ xf86freeLayoutList (XF86ConfLayoutPtr ptr)
xf86freeInputrefList (ptr->lay_input_lst); xf86freeInputrefList (ptr->lay_input_lst);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }

View File

@ -108,11 +108,11 @@ xf86parseModuleSubSection (XF86LoadPtr head, char *name)
break; break;
case EOF_TOKEN: case EOF_TOKEN:
xf86parseError (UNEXPECTED_EOF_MSG, NULL); xf86parseError (UNEXPECTED_EOF_MSG, NULL);
xf86conffree(ptr); free(ptr);
return NULL; return NULL;
default: default:
xf86parseError (INVALID_KEYWORD_MSG, xf86tokenString ()); xf86parseError (INVALID_KEYWORD_MSG, xf86tokenString ());
xf86conffree(ptr); free(ptr);
return NULL; return NULL;
break; break;
} }
@ -233,7 +233,7 @@ xf86addNewLoadDirective (XF86LoadPtr head, char *name, int type, XF86OptionPtr o
XF86LoadPtr new; XF86LoadPtr new;
int token; int token;
new = xf86confcalloc (1, sizeof (XF86LoadRec)); new = calloc (1, sizeof (XF86LoadRec));
new->load_name = name; new->load_name = name;
new->load_type = type; new->load_type = type;
new->load_opt = opts; new->load_opt = opts;
@ -263,7 +263,7 @@ xf86freeModules (XF86ConfModulePtr ptr)
TestFree (lptr->load_comment); TestFree (lptr->load_comment);
prev = lptr; prev = lptr;
lptr = lptr->list.next; lptr = lptr->list.next;
xf86conffree (prev); free (prev);
} }
lptr = ptr->mod_disable_lst; lptr = ptr->mod_disable_lst;
while (lptr) while (lptr)
@ -272,8 +272,8 @@ xf86freeModules (XF86ConfModulePtr ptr)
TestFree (lptr->load_comment); TestFree (lptr->load_comment);
prev = lptr; prev = lptr;
lptr = lptr->list.next; lptr = lptr->list.next;
xf86conffree (prev); free (prev);
} }
TestFree (ptr->mod_comment); TestFree (ptr->mod_comment);
xf86conffree (ptr); free (ptr);
} }

View File

@ -134,7 +134,7 @@ xf86freeModeLineList (XF86ConfModeLinePtr ptr)
TestFree (ptr->ml_comment); TestFree (ptr->ml_comment);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -580,7 +580,7 @@ VertDone:
/* add to the end of the list of modes sections /* add to the end of the list of modes sections
referenced here */ referenced here */
mptr = xf86confcalloc (1, sizeof (XF86ConfModesLinkRec)); mptr = calloc (1, sizeof (XF86ConfModesLinkRec));
mptr->list.next = NULL; mptr->list.next = NULL;
mptr->ml_modes_str = val.str; mptr->ml_modes_str = val.str;
mptr->ml_modes = NULL; mptr->ml_modes = NULL;
@ -822,7 +822,7 @@ xf86freeMonitorList (XF86ConfMonitorPtr ptr)
xf86freeModeLineList (ptr->mon_modeline_lst); xf86freeModeLineList (ptr->mon_modeline_lst);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -838,7 +838,7 @@ xf86freeModesList (XF86ConfModesPtr ptr)
xf86freeModeLineList (ptr->mon_modeline_lst); xf86freeModeLineList (ptr->mon_modeline_lst);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }

View File

@ -115,19 +115,19 @@ xf86parsePointerSection (void)
if (xf86getSubToken (&(ptr->inp_comment)) != STRING) if (xf86getSubToken (&(ptr->inp_comment)) != STRING)
Error (QUOTE_MSG, "Protocol"); Error (QUOTE_MSG, "Protocol");
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("Protocol"), strdup("Protocol"),
val.str); val.str);
break; break;
case PDEVICE: case PDEVICE:
if (xf86getSubToken (&(ptr->inp_comment)) != STRING) if (xf86getSubToken (&(ptr->inp_comment)) != STRING)
Error (QUOTE_MSG, "Device"); Error (QUOTE_MSG, "Device");
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("Device"), strdup("Device"),
val.str); val.str);
break; break;
case EMULATE3: case EMULATE3:
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("Emulate3Buttons"), strdup("Emulate3Buttons"),
NULL); NULL);
break; break;
case EM3TIMEOUT: case EM3TIMEOUT:
@ -135,12 +135,12 @@ xf86parsePointerSection (void)
Error (POSITIVE_INT_MSG, "Emulate3Timeout"); Error (POSITIVE_INT_MSG, "Emulate3Timeout");
s = xf86uLongToString(val.num); s = xf86uLongToString(val.num);
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("Emulate3Timeout"), strdup("Emulate3Timeout"),
s); s);
break; break;
case CHORDMIDDLE: case CHORDMIDDLE:
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("ChordMiddle"), strdup("ChordMiddle"),
NULL); NULL);
break; break;
case PBUTTONS: case PBUTTONS:
@ -148,36 +148,36 @@ xf86parsePointerSection (void)
Error (POSITIVE_INT_MSG, "Buttons"); Error (POSITIVE_INT_MSG, "Buttons");
s = xf86uLongToString(val.num); s = xf86uLongToString(val.num);
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("Buttons"), s); strdup("Buttons"), s);
break; break;
case BAUDRATE: case BAUDRATE:
if (xf86getSubToken (&(ptr->inp_comment)) != NUMBER || val.num < 0) if (xf86getSubToken (&(ptr->inp_comment)) != NUMBER || val.num < 0)
Error (POSITIVE_INT_MSG, "BaudRate"); Error (POSITIVE_INT_MSG, "BaudRate");
s = xf86uLongToString(val.num); s = xf86uLongToString(val.num);
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("BaudRate"), s); strdup("BaudRate"), s);
break; break;
case SAMPLERATE: case SAMPLERATE:
if (xf86getSubToken (&(ptr->inp_comment)) != NUMBER || val.num < 0) if (xf86getSubToken (&(ptr->inp_comment)) != NUMBER || val.num < 0)
Error (POSITIVE_INT_MSG, "SampleRate"); Error (POSITIVE_INT_MSG, "SampleRate");
s = xf86uLongToString(val.num); s = xf86uLongToString(val.num);
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("SampleRate"), s); strdup("SampleRate"), s);
break; break;
case PRESOLUTION: case PRESOLUTION:
if (xf86getSubToken (&(ptr->inp_comment)) != NUMBER || val.num < 0) if (xf86getSubToken (&(ptr->inp_comment)) != NUMBER || val.num < 0)
Error (POSITIVE_INT_MSG, "Resolution"); Error (POSITIVE_INT_MSG, "Resolution");
s = xf86uLongToString(val.num); s = xf86uLongToString(val.num);
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("Resolution"), s); strdup("Resolution"), s);
break; break;
case CLEARDTR: case CLEARDTR:
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("ClearDTR"), NULL); strdup("ClearDTR"), NULL);
break; break;
case CLEARRTS: case CLEARRTS:
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("ClearRTS"), NULL); strdup("ClearRTS"), NULL);
break; break;
case ZAXISMAPPING: case ZAXISMAPPING:
switch (xf86getToken(ZMapTab)) { switch (xf86getToken(ZMapTab)) {
@ -186,28 +186,28 @@ xf86parsePointerSection (void)
Error (ZAXISMAPPING_MSG, NULL); Error (ZAXISMAPPING_MSG, NULL);
s1 = xf86uLongToString(val.num); s1 = xf86uLongToString(val.num);
if (xf86getSubToken (&(ptr->inp_comment)) != NUMBER || val.num < 0) { if (xf86getSubToken (&(ptr->inp_comment)) != NUMBER || val.num < 0) {
xf86conffree(s1); free(s1);
Error (ZAXISMAPPING_MSG, NULL); Error (ZAXISMAPPING_MSG, NULL);
} }
s2 = xf86uLongToString(val.num); s2 = xf86uLongToString(val.num);
l = strlen(s1) + 1 + strlen(s2) + 1; l = strlen(s1) + 1 + strlen(s2) + 1;
s = xf86confmalloc(l); s = malloc(l);
sprintf(s, "%s %s", s1, s2); sprintf(s, "%s %s", s1, s2);
xf86conffree(s1); free(s1);
xf86conffree(s2); free(s2);
break; break;
case XAXIS: case XAXIS:
s = xf86configStrdup("x"); s = strdup("x");
break; break;
case YAXIS: case YAXIS:
s = xf86configStrdup("y"); s = strdup("y");
break; break;
default: default:
Error (ZAXISMAPPING_MSG, NULL); Error (ZAXISMAPPING_MSG, NULL);
break; break;
} }
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("ZAxisMapping"), strdup("ZAxisMapping"),
s); s);
break; break;
case ALWAYSCORE: case ALWAYSCORE:
@ -221,10 +221,10 @@ xf86parsePointerSection (void)
} }
} }
ptr->inp_identifier = xf86configStrdup(CONF_IMPLICIT_POINTER); ptr->inp_identifier = strdup(CONF_IMPLICIT_POINTER);
ptr->inp_driver = xf86configStrdup("mouse"); ptr->inp_driver = strdup("mouse");
ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst, ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
xf86configStrdup("CorePointer"), NULL); strdup("CorePointer"), NULL);
#ifdef DEBUG #ifdef DEBUG
printf ("Pointer section parsed\n"); printf ("Pointer section parsed\n");

View File

@ -169,7 +169,7 @@ xf86parseDisplaySubSection (void)
while ((token = xf86getSubTokenWithTab (&(ptr->disp_comment), DisplayTab)) == STRING) while ((token = xf86getSubTokenWithTab (&(ptr->disp_comment), DisplayTab)) == STRING)
{ {
mptr = xf86confcalloc (1, sizeof (XF86ModeRec)); mptr = calloc (1, sizeof (XF86ModeRec));
mptr->mode_name = val.str; mptr->mode_name = val.str;
mptr->list.next = NULL; mptr->list.next = NULL;
ptr->disp_mode_lst = (XF86ModePtr) ptr->disp_mode_lst = (XF86ModePtr)
@ -292,7 +292,7 @@ xf86parseScreenSection (void)
if (aptr == NULL) if (aptr == NULL)
{ {
aptr = xf86confcalloc (1, sizeof (XF86ConfAdaptorLinkRec)); aptr = calloc (1, sizeof (XF86ConfAdaptorLinkRec));
aptr->list.next = NULL; aptr->list.next = NULL;
aptr->al_adaptor_str = val.str; aptr->al_adaptor_str = val.str;
ptr->scrn_adaptor_lst = (XF86ConfAdaptorLinkPtr) ptr->scrn_adaptor_lst = (XF86ConfAdaptorLinkPtr)
@ -315,7 +315,7 @@ xf86parseScreenSection (void)
if (xf86getSubToken (&(ptr->scrn_comment)) != STRING) if (xf86getSubToken (&(ptr->scrn_comment)) != STRING)
Error (QUOTE_MSG, "SubSection"); Error (QUOTE_MSG, "SubSection");
{ {
xf86conffree(val.str); free(val.str);
HANDLE_LIST (scrn_display_lst, xf86parseDisplaySubSection, HANDLE_LIST (scrn_display_lst, xf86parseDisplaySubSection,
XF86ConfDisplayPtr); XF86ConfDisplayPtr);
} }
@ -456,7 +456,7 @@ xf86freeScreenList (XF86ConfScreenPtr ptr)
xf86freeDisplayList (ptr->scrn_display_lst); xf86freeDisplayList (ptr->scrn_display_lst);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -470,7 +470,7 @@ xf86freeAdaptorLinkList (XF86ConfAdaptorLinkPtr ptr)
TestFree (ptr->al_adaptor_str); TestFree (ptr->al_adaptor_str);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -485,7 +485,7 @@ xf86freeDisplayList (XF86ConfDisplayPtr ptr)
xf86optionListFree (ptr->disp_option_lst); xf86optionListFree (ptr->disp_option_lst);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -499,7 +499,7 @@ xf86freeModeList (XF86ModePtr ptr)
TestFree (ptr->mode_name); TestFree (ptr->mode_name);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -544,7 +544,7 @@ xf86validateScreen (XF86ConfigPtr p)
return (FALSE); return (FALSE);
} }
adaptor->al_adaptor->va_fwdref = xf86configStrdup(screen->scrn_identifier); adaptor->al_adaptor->va_fwdref = strdup(screen->scrn_identifier);
adaptor = adaptor->list.next; adaptor = adaptor->list.next;
} }

View File

@ -223,7 +223,7 @@ xf86freeVendorList (XF86ConfVendorPtr p)
TestFree (p->vnd_identifier); TestFree (p->vnd_identifier);
TestFree (p->vnd_comment); TestFree (p->vnd_comment);
xf86optionListFree (p->vnd_option_lst); xf86optionListFree (p->vnd_option_lst);
xf86conffree (p); free (p);
} }
void void
@ -239,6 +239,6 @@ xf86freeVendorSubList (XF86ConfVendSubPtr ptr)
xf86optionListFree (ptr->vs_option_lst); xf86optionListFree (ptr->vs_option_lst);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }

View File

@ -86,7 +86,7 @@ xf86freeVideoPortList (XF86ConfVideoPortPtr ptr)
xf86optionListFree (ptr->vp_option_lst); xf86optionListFree (ptr->vp_option_lst);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }
@ -278,7 +278,7 @@ xf86freeVideoAdaptorList (XF86ConfVideoAdaptorPtr ptr)
xf86optionListFree (ptr->va_option_lst); xf86optionListFree (ptr->va_option_lst);
prev = ptr; prev = ptr;
ptr = ptr->list.next; ptr = ptr->list.next;
xf86conffree (prev); free (prev);
} }
} }

View File

@ -96,7 +96,7 @@ xf86readConfigFile (void)
int token; int token;
XF86ConfigPtr ptr = NULL; XF86ConfigPtr ptr = NULL;
if ((ptr = xf86confcalloc (1, sizeof (XF86ConfigRec))) == NULL) if ((ptr = calloc (1, sizeof (XF86ConfigRec))) == NULL)
{ {
return NULL; return NULL;
} }
@ -118,107 +118,107 @@ xf86readConfigFile (void)
xf86setSection (val.str); xf86setSection (val.str);
if (xf86nameCompare (val.str, "files") == 0) if (xf86nameCompare (val.str, "files") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_RETURN (conf_files, xf86parseFilesSection ()); HANDLE_RETURN (conf_files, xf86parseFilesSection ());
} }
else if (xf86nameCompare (val.str, "serverflags") == 0) else if (xf86nameCompare (val.str, "serverflags") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_RETURN (conf_flags, xf86parseFlagsSection ()); HANDLE_RETURN (conf_flags, xf86parseFlagsSection ());
} }
else if (xf86nameCompare (val.str, "pointer") == 0) else if (xf86nameCompare (val.str, "pointer") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_LIST (conf_input_lst, xf86parsePointerSection, HANDLE_LIST (conf_input_lst, xf86parsePointerSection,
XF86ConfInputPtr); XF86ConfInputPtr);
} }
else if (xf86nameCompare (val.str, "videoadaptor") == 0) else if (xf86nameCompare (val.str, "videoadaptor") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_LIST (conf_videoadaptor_lst, xf86parseVideoAdaptorSection, HANDLE_LIST (conf_videoadaptor_lst, xf86parseVideoAdaptorSection,
XF86ConfVideoAdaptorPtr); XF86ConfVideoAdaptorPtr);
} }
else if (xf86nameCompare (val.str, "device") == 0) else if (xf86nameCompare (val.str, "device") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_LIST (conf_device_lst, xf86parseDeviceSection, HANDLE_LIST (conf_device_lst, xf86parseDeviceSection,
XF86ConfDevicePtr); XF86ConfDevicePtr);
} }
else if (xf86nameCompare (val.str, "monitor") == 0) else if (xf86nameCompare (val.str, "monitor") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_LIST (conf_monitor_lst, xf86parseMonitorSection, HANDLE_LIST (conf_monitor_lst, xf86parseMonitorSection,
XF86ConfMonitorPtr); XF86ConfMonitorPtr);
} }
else if (xf86nameCompare (val.str, "modes") == 0) else if (xf86nameCompare (val.str, "modes") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_LIST (conf_modes_lst, xf86parseModesSection, HANDLE_LIST (conf_modes_lst, xf86parseModesSection,
XF86ConfModesPtr); XF86ConfModesPtr);
} }
else if (xf86nameCompare (val.str, "screen") == 0) else if (xf86nameCompare (val.str, "screen") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_LIST (conf_screen_lst, xf86parseScreenSection, HANDLE_LIST (conf_screen_lst, xf86parseScreenSection,
XF86ConfScreenPtr); XF86ConfScreenPtr);
} }
else if (xf86nameCompare(val.str, "inputdevice") == 0) else if (xf86nameCompare(val.str, "inputdevice") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_LIST (conf_input_lst, xf86parseInputSection, HANDLE_LIST (conf_input_lst, xf86parseInputSection,
XF86ConfInputPtr); XF86ConfInputPtr);
} }
else if (xf86nameCompare (val.str, "module") == 0) else if (xf86nameCompare (val.str, "module") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_RETURN (conf_modules, xf86parseModuleSection ()); HANDLE_RETURN (conf_modules, xf86parseModuleSection ());
} }
else if (xf86nameCompare (val.str, "serverlayout") == 0) else if (xf86nameCompare (val.str, "serverlayout") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_LIST (conf_layout_lst, xf86parseLayoutSection, HANDLE_LIST (conf_layout_lst, xf86parseLayoutSection,
XF86ConfLayoutPtr); XF86ConfLayoutPtr);
} }
else if (xf86nameCompare (val.str, "vendor") == 0) else if (xf86nameCompare (val.str, "vendor") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_LIST (conf_vendor_lst, xf86parseVendorSection, HANDLE_LIST (conf_vendor_lst, xf86parseVendorSection,
XF86ConfVendorPtr); XF86ConfVendorPtr);
} }
else if (xf86nameCompare (val.str, "dri") == 0) else if (xf86nameCompare (val.str, "dri") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_RETURN (conf_dri, xf86parseDRISection ()); HANDLE_RETURN (conf_dri, xf86parseDRISection ());
} }
else if (xf86nameCompare (val.str, "extensions") == 0) else if (xf86nameCompare (val.str, "extensions") == 0)
{ {
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
HANDLE_RETURN (conf_extensions, xf86parseExtensionsSection ()); HANDLE_RETURN (conf_extensions, xf86parseExtensionsSection ());
} }
else else
{ {
Error (INVALID_SECTION_MSG, xf86tokenString ()); Error (INVALID_SECTION_MSG, xf86tokenString ());
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
} }
break; break;
default: default:
Error (INVALID_KEYWORD_MSG, xf86tokenString ()); Error (INVALID_KEYWORD_MSG, xf86tokenString ());
xf86conffree(val.str); free(val.str);
val.str = NULL; val.str = NULL;
} }
} }
@ -306,5 +306,5 @@ xf86freeConfig (XF86ConfigPtr p)
xf86freeExtensions (p->conf_extensions); xf86freeExtensions (p->conf_extensions);
TestFree(p->conf_comment); TestFree(p->conf_comment);
xf86conffree (p); free (p);
} }

View File

@ -180,8 +180,8 @@ xf86getNextLine(void)
if (configBufLen != CONFIG_BUF_LEN) { if (configBufLen != CONFIG_BUF_LEN) {
tmpConfigBuf = xf86confmalloc(CONFIG_BUF_LEN); tmpConfigBuf = malloc(CONFIG_BUF_LEN);
tmpConfigRBuf = xf86confmalloc(CONFIG_BUF_LEN); tmpConfigRBuf = malloc(CONFIG_BUF_LEN);
if (!tmpConfigBuf || !tmpConfigRBuf) { if (!tmpConfigBuf || !tmpConfigRBuf) {
@ -190,8 +190,8 @@ xf86getNextLine(void)
* and free any partial allocations * and free any partial allocations
*/ */
xf86conffree(tmpConfigBuf); free(tmpConfigBuf);
xf86conffree(tmpConfigRBuf); free(tmpConfigRBuf);
} else { } else {
@ -202,8 +202,8 @@ xf86getNextLine(void)
configBufLen = CONFIG_BUF_LEN; configBufLen = CONFIG_BUF_LEN;
xf86conffree(configBuf); free(configBuf);
xf86conffree(configRBuf); free(configRBuf);
configBuf = tmpConfigBuf; configBuf = tmpConfigBuf;
configRBuf = tmpConfigRBuf; configRBuf = tmpConfigRBuf;
@ -237,8 +237,8 @@ xf86getNextLine(void)
if (!eolFound) { if (!eolFound) {
tmpConfigBuf = xf86confrealloc(configBuf, configBufLen + CONFIG_BUF_LEN); tmpConfigBuf = realloc(configBuf, configBufLen + CONFIG_BUF_LEN);
tmpConfigRBuf = xf86confrealloc(configRBuf, configBufLen + CONFIG_BUF_LEN); tmpConfigRBuf = realloc(configRBuf, configBufLen + CONFIG_BUF_LEN);
if (!tmpConfigBuf || !tmpConfigRBuf) { if (!tmpConfigBuf || !tmpConfigRBuf) {
@ -420,7 +420,7 @@ again:
} }
while ((c != '\"') && (c != '\n') && (c != '\r') && (c != '\0')); while ((c != '\"') && (c != '\n') && (c != '\r') && (c != '\0'));
configRBuf[i] = '\0'; configRBuf[i] = '\0';
val.str = xf86confmalloc (strlen (configRBuf) + 1); val.str = malloc (strlen (configRBuf) + 1);
strcpy (val.str, configRBuf); /* private copy ! */ strcpy (val.str, configRBuf); /* private copy ! */
return (STRING); return (STRING);
} }
@ -595,7 +595,7 @@ xf86pathIsSafe(const char *path)
#endif #endif
#define BAIL_OUT do { \ #define BAIL_OUT do { \
xf86conffree(result); \ free(result); \
return NULL; \ return NULL; \
} while (0) } while (0)
@ -632,7 +632,7 @@ DoSubstitution(const char *template, const char *cmdline, const char *projroot,
if (envUsed) if (envUsed)
*envUsed = 0; *envUsed = 0;
result = xf86confmalloc(PATH_MAX + 1); result = malloc(PATH_MAX + 1);
l = 0; l = 0;
for (i = 0; template[i]; i++) { for (i = 0; template[i]; i++) {
if (template[i] != '%') { if (template[i] != '%') {
@ -669,11 +669,11 @@ DoSubstitution(const char *template, const char *cmdline, const char *projroot,
break; break;
case 'H': case 'H':
if (!hostname) { if (!hostname) {
if ((hostname = xf86confmalloc(MAXHOSTNAMELEN + 1))) { if ((hostname = malloc(MAXHOSTNAMELEN + 1))) {
if (gethostname(hostname, MAXHOSTNAMELEN) == 0) { if (gethostname(hostname, MAXHOSTNAMELEN) == 0) {
hostname[MAXHOSTNAMELEN] = '\0'; hostname[MAXHOSTNAMELEN] = '\0';
} else { } else {
xf86conffree(hostname); free(hostname);
hostname = NULL; hostname = NULL;
} }
} }
@ -791,7 +791,7 @@ xf86openConfigFile(const char *path, const char *cmdline, const char *projroot)
if (!path || !path[0]) if (!path || !path[0])
path = DEFAULT_CONF_PATH; path = DEFAULT_CONF_PATH;
pathcopy = xf86confmalloc(strlen(path) + 1); pathcopy = malloc(strlen(path) + 1);
strcpy(pathcopy, path); strcpy(pathcopy, path);
if (!projroot || !projroot[0]) if (!projroot || !projroot[0])
projroot = PROJECTROOT; projroot = PROJECTROOT;
@ -811,7 +811,7 @@ xf86openConfigFile(const char *path, const char *cmdline, const char *projroot)
} }
} }
if (configPath && !configFile) { if (configPath && !configFile) {
xf86conffree(configPath); free(configPath);
configPath = NULL; configPath = NULL;
} }
template = strtok(NULL, ","); template = strtok(NULL, ",");
@ -834,21 +834,21 @@ xf86openConfigFile(const char *path, const char *cmdline, const char *projroot)
} }
} }
if (configPath && !configFile) { if (configPath && !configFile) {
xf86conffree(configPath); free(configPath);
configPath = NULL; configPath = NULL;
} }
template = strtok(NULL, ","); template = strtok(NULL, ",");
} }
} }
xf86conffree(pathcopy); free(pathcopy);
if (!configFile) { if (!configFile) {
return NULL; return NULL;
} }
configBuf = xf86confmalloc (CONFIG_BUF_LEN); configBuf = malloc (CONFIG_BUF_LEN);
configRBuf = xf86confmalloc (CONFIG_BUF_LEN); configRBuf = malloc (CONFIG_BUF_LEN);
configBuf[0] = '\0'; /* sanity ... */ configBuf[0] = '\0'; /* sanity ... */
return configPath; return configPath;
@ -857,11 +857,11 @@ xf86openConfigFile(const char *path, const char *cmdline, const char *projroot)
void void
xf86closeConfigFile (void) xf86closeConfigFile (void)
{ {
xf86conffree (configPath); free (configPath);
configPath = NULL; configPath = NULL;
xf86conffree (configRBuf); free (configRBuf);
configRBuf = NULL; configRBuf = NULL;
xf86conffree (configBuf); free (configBuf);
configBuf = NULL; configBuf = NULL;
if (configFile) { if (configFile) {
@ -877,9 +877,9 @@ void
xf86setBuiltinConfig(const char *config[]) xf86setBuiltinConfig(const char *config[])
{ {
builtinConfig = config; builtinConfig = config;
configPath = xf86configStrdup("<builtin configuration>"); configPath = strdup("<builtin configuration>");
configBuf = xf86confmalloc (CONFIG_BUF_LEN); configBuf = malloc (CONFIG_BUF_LEN);
configRBuf = xf86confmalloc (CONFIG_BUF_LEN); configRBuf = malloc (CONFIG_BUF_LEN);
configBuf[0] = '\0'; /* sanity ... */ configBuf[0] = '\0'; /* sanity ... */
} }
@ -915,8 +915,8 @@ void
xf86setSection (char *section) xf86setSection (char *section)
{ {
if (configSection) if (configSection)
xf86conffree(configSection); free(configSection);
configSection = xf86confmalloc(strlen (section) + 1); configSection = malloc(strlen (section) + 1);
strcpy (configSection, section); strcpy (configSection, section);
} }
@ -1013,7 +1013,7 @@ xf86addComment(char *cur, char *add)
endnewline = add[len - 1] == '\n'; endnewline = add[len - 1] == '\n';
len += 1 + iscomment + (!hasnewline) + (!endnewline) + eol_seen; len += 1 + iscomment + (!hasnewline) + (!endnewline) + eol_seen;
if ((str = xf86confrealloc(cur, len + curlen)) == NULL) if ((str = realloc(cur, len + curlen)) == NULL)
return (cur); return (cur);
cur = str; cur = str;

View File

@ -64,6 +64,7 @@
#ifndef _xf86Optrec_h_ #ifndef _xf86Optrec_h_
#define _xf86Optrec_h_ #define _xf86Optrec_h_
#include <stdio.h> #include <stdio.h>
#include <string.h>
#include <X11/Xfuncproto.h> #include <X11/Xfuncproto.h>
@ -102,7 +103,6 @@ extern _X_EXPORT XF86OptionPtr xf86findOption(XF86OptionPtr list, const char *na
extern _X_EXPORT char *xf86findOptionValue(XF86OptionPtr list, const char *name); extern _X_EXPORT char *xf86findOptionValue(XF86OptionPtr list, const char *name);
extern _X_EXPORT XF86OptionPtr xf86optionListCreate(const char **options, int count, int used); extern _X_EXPORT XF86OptionPtr xf86optionListCreate(const char **options, int count, int used);
extern _X_EXPORT XF86OptionPtr xf86optionListMerge(XF86OptionPtr head, XF86OptionPtr tail); extern _X_EXPORT XF86OptionPtr xf86optionListMerge(XF86OptionPtr head, XF86OptionPtr tail);
extern _X_EXPORT char *xf86configStrdup (const char *s);
extern _X_EXPORT int xf86nameCompare (const char *s1, const char *s2); extern _X_EXPORT int xf86nameCompare (const char *s1, const char *s2);
extern _X_EXPORT char *xf86uLongToString(unsigned long i); extern _X_EXPORT char *xf86uLongToString(unsigned long i);
extern _X_EXPORT XF86OptionPtr xf86parseOption(XF86OptionPtr head); extern _X_EXPORT XF86OptionPtr xf86parseOption(XF86OptionPtr head);

View File

@ -80,6 +80,11 @@ static KeyboardLayoutRef last_key_layout;
extern int darwinFakeButtons; extern int darwinFakeButtons;
/* Store the mouse location while in the background, and update X11's pointer
* location when we become the foreground application
*/
static NSPoint bgMouseLocation;
X11Application *X11App; X11Application *X11App;
CFStringRef app_prefs_domain_cfstr = NULL; CFStringRef app_prefs_domain_cfstr = NULL;
@ -188,6 +193,7 @@ static void message_kit_thread (SEL selector, NSObject *arg) {
size_t i; size_t i;
DEBUG_LOG("state=%d, _x_active=%d, \n", state, _x_active) DEBUG_LOG("state=%d, _x_active=%d, \n", state, _x_active)
if (state) { if (state) {
DarwinSendPointerEvents(darwinPointer, MotionNotify, 0, bgMouseLocation.x, bgMouseLocation.y, 0.0, 0.0, 0.0);
DarwinSendDDXEvent(kXquartzActivate, 0); DarwinSendDDXEvent(kXquartzActivate, 0);
if (!_x_active) { if (!_x_active) {
@ -954,33 +960,39 @@ static inline int ensure_flag(int flags, int device_independent, int device_depe
- (void) sendX11NSEvent:(NSEvent *)e { - (void) sendX11NSEvent:(NSEvent *)e {
NSRect screen; NSRect screen;
NSPoint location; NSPoint location, tilt;
NSWindow *window; NSWindow *window;
int ev_button, ev_type; int ev_button, ev_type;
float pointer_x, pointer_y, pressure, tilt_x, tilt_y; float pressure;
DeviceIntPtr pDev; DeviceIntPtr pDev;
int modifierFlags; int modifierFlags;
static NSPoint lastpt;
/* convert location to be relative to top-left of primary display */ /* convert location to be relative to top-left of primary display */
location = [e locationInWindow];
window = [e window]; window = [e window];
screen = [[[NSScreen screens] objectAtIndex:0] frame];
if (window != nil) { if (window != nil) {
NSRect frame = [window frame]; NSRect frame = [window frame];
pointer_x = location.x + frame.origin.x; location = [e locationInWindow];
pointer_y = (screen.origin.y + screen.size.height) location.x += frame.origin.x;
- (location.y + frame.origin.y); location.y += frame.origin.y;
lastpt = location;
} else { } else {
pointer_x = location.x; location.x = lastpt.x + [e deltaX];
pointer_y = (screen.origin.y + screen.size.height) - location.y; location.y = lastpt.y - [e deltaY];
lastpt = [NSEvent mouseLocation];
} }
/* Convert coordinate system */
screen = [[[NSScreen screens] objectAtIndex:0] frame];
location.y = (screen.origin.y + screen.size.height) - location.y;
/* Setup our valuators. These will range from 0 to 1 */ /* Setup our valuators. These will range from 0 to 1 */
pressure = 0; pressure = 0;
tilt_x = 0; tilt.x = 0.0;
tilt_y = 0; tilt.y = 0.0;
modifierFlags = [e modifierFlags]; modifierFlags = [e modifierFlags];
#ifdef NX_DEVICELCMDKEYMASK #ifdef NX_DEVICELCMDKEYMASK
@ -1047,47 +1059,49 @@ static inline int ensure_flag(int flags, int device_independent, int device_depe
pDev = darwinTabletCurrent; pDev = darwinTabletCurrent;
*/ */
DarwinSendProximityEvents([e isEnteringProximity]?ProximityIn:ProximityOut, DarwinSendProximityEvents([e isEnteringProximity] ? ProximityIn : ProximityOut,
pointer_x, pointer_y); location.x, location.y);
} }
if ([e type] == NSTabletPoint || [e subtype] == NSTabletPointEventSubtype) { if ([e type] == NSTabletPoint || [e subtype] == NSTabletPointEventSubtype) {
pressure = [e pressure]; pressure = [e pressure];
tilt_x = [e tilt].x; tilt = [e tilt];
tilt_y = [e tilt].y;
pDev = darwinTabletCurrent; pDev = darwinTabletCurrent;
} }
if(!quartzServerVisible && noTestExtensions) {
#if 0
/* Seems this has somehow triggered 100% CPU usage while X11.app is in the /* Seems this has somehow triggered 100% CPU usage while X11.app is in the
* background on some obscure HW configurations. * background on some obscure HW configurations.
* http://xquartz.macosforge.org/trac/ticket/241 * http://xquartz.macosforge.org/trac/ticket/241
*/ */
#if 0 //#if defined(XPLUGIN_VERSION) && XPLUGIN_VERSION > 0
/* Older libXplugin (Tiger/"Stock" Leopard) aren't thread safe, so we can't call xp_find_window from the Appkit thread */ /* Older libXplugin (Tiger/"Stock" Leopard) aren't thread safe, so we can't call xp_find_window from the Appkit thread */
#ifdef XPLUGIN_VERSION
#if XPLUGIN_VERSION > 0
if(!quartzServerVisible) {
xp_window_id wid; xp_window_id wid;
xp_error e;
/* Sigh. Need to check that we're really over one of /* Sigh. Need to check that we're really over one of
* our windows. (We need to receive pointer events while * our windows. (We need to receive pointer events while
* not in the foreground, but we don't want to receive them * not in the foreground, but we don't want to receive them
* when another window is over us or we might show a tooltip) * when another window is over us or we might show a tooltip)
*/ */
wid = 0; wid = 0;
e = xp_find_window(location.x, location.y, 0, &wid);
if (xp_find_window(pointer_x, pointer_y, 0, &wid) == XP_Success &&
wid == 0) if (e == XP_Success && wid == 0) {
return; bgMouseLocation = location;
return;
}
#else
bgMouseLocation = location;
return;
#endif
} }
#endif
#endif
#endif
DarwinSendPointerEvents(pDev, ev_type, ev_button, pointer_x, pointer_y, DarwinSendPointerEvents(pDev, ev_type, ev_button, location.x, location.y,
pressure, tilt_x, tilt_y); pressure, tilt.x, tilt.y);
break; break;
@ -1106,13 +1120,13 @@ static inline int ensure_flag(int flags, int device_independent, int device_depe
break; break;
} }
DarwinSendProximityEvents([e isEnteringProximity]?ProximityIn:ProximityOut, DarwinSendProximityEvents([e isEnteringProximity] ? ProximityIn : ProximityOut,
pointer_x, pointer_y); location.x, location.y);
break; break;
case NSScrollWheel: case NSScrollWheel:
DarwinSendScrollEvents([e deltaX], [e deltaY], pointer_x, pointer_y, DarwinSendScrollEvents([e deltaX], [e deltaY], location.x, location.y,
pressure, tilt_x, tilt_y); pressure, tilt.x, tilt.y);
break; break;
case NSKeyDown: case NSKeyUp: case NSKeyDown: case NSKeyUp:

View File

@ -500,11 +500,12 @@ ProcAppleWMSendPSN(register ClientPtr client)
REQUEST_SIZE_MATCH(xAppleWMSendPSNReq); REQUEST_SIZE_MATCH(xAppleWMSendPSNReq);
if(appleWMProcs->SendPSN) { if(!appleWMProcs->SendPSN)
err = appleWMProcs->SendPSN(stuff->psn_hi, stuff->psn_lo); return BadRequest;
if (err != Success) {
return err; err = appleWMProcs->SendPSN(stuff->psn_hi, stuff->psn_lo);
} if (err != Success) {
return err;
} }
return (client->noClientException); return (client->noClientException);

View File

@ -157,8 +157,11 @@ typedef struct _AppleDRINotify {
CARD32 pad1 B32; CARD32 pad1 B32;
CARD32 arg B32; CARD32 arg B32;
CARD32 pad3 B32; CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xAppleDRINotifyEvent; } xAppleDRINotifyEvent;
#define sz_xAppleDRINotifyEvent 20 #define sz_xAppleDRINotifyEvent 32
typedef struct { typedef struct {

View File

@ -120,7 +120,7 @@ xprSetNativeProperty(RootlessWindowPtr pFrame)
/* /*
* Create and display a new frame. * Create and display a new frame.
*/ */
Bool static Bool
xprCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen, xprCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen,
int newX, int newY, RegionPtr pShape) int newX, int newY, RegionPtr pShape)
{ {
@ -187,7 +187,7 @@ xprCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen,
/* /*
* Destroy a frame. * Destroy a frame.
*/ */
void static void
xprDestroyFrame(RootlessFrameID wid) xprDestroyFrame(RootlessFrameID wid)
{ {
TA_SERVER(); TA_SERVER();
@ -203,7 +203,7 @@ xprDestroyFrame(RootlessFrameID wid)
/* /*
* Move a frame on screen. * Move a frame on screen.
*/ */
void static void
xprMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY) xprMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY)
{ {
TA_SERVER(); TA_SERVER();
@ -220,7 +220,7 @@ xprMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY)
/* /*
* Resize and move a frame. * Resize and move a frame.
*/ */
void static void
xprResizeFrame(RootlessFrameID wid, ScreenPtr pScreen, xprResizeFrame(RootlessFrameID wid, ScreenPtr pScreen,
int newX, int newY, unsigned int newW, unsigned int newH, int newX, int newY, unsigned int newW, unsigned int newH,
unsigned int gravity) unsigned int gravity)
@ -245,7 +245,7 @@ xprResizeFrame(RootlessFrameID wid, ScreenPtr pScreen,
/* /*
* Change frame stacking. * Change frame stacking.
*/ */
void static void
xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid) xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid)
{ {
xp_window_changes wc; xp_window_changes wc;
@ -257,12 +257,22 @@ xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid)
if (nextWid == NULL) if (nextWid == NULL)
{ {
#if defined(XPLUGIN_VERSION) && XPLUGIN_VERSION >= 3
WindowPtr pWin = xprGetXWindow((xp_window_id)wid);
wc.stack_mode = (pWin && pWin->overrideRedirect) ? XP_MAPPED_ABOVE_CURRENT_SPACE : XP_MAPPED_ABOVE;
#else
wc.stack_mode = XP_MAPPED_ABOVE; wc.stack_mode = XP_MAPPED_ABOVE;
#endif
wc.sibling = 0; wc.sibling = 0;
} }
else else
{ {
#if defined(XPLUGIN_VERSION) && XPLUGIN_VERSION >= 3
WindowPtr pWin = xprGetXWindow((xp_window_id)wid);
wc.stack_mode = (pWin && pWin->overrideRedirect) ? XP_MAPPED_BELOW_CURRENT_SPACE : XP_MAPPED_BELOW;
#else
wc.stack_mode = XP_MAPPED_BELOW; wc.stack_mode = XP_MAPPED_BELOW;
#endif
wc.sibling = x_cvt_vptr_to_uint(nextWid); wc.sibling = x_cvt_vptr_to_uint(nextWid);
} }
@ -273,7 +283,7 @@ xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid)
/* /*
* Change the frame's shape. * Change the frame's shape.
*/ */
void static void
xprReshapeFrame(RootlessFrameID wid, RegionPtr pShape) xprReshapeFrame(RootlessFrameID wid, RegionPtr pShape)
{ {
xp_window_changes wc; xp_window_changes wc;
@ -300,7 +310,7 @@ xprReshapeFrame(RootlessFrameID wid, RegionPtr pShape)
/* /*
* Unmap a frame. * Unmap a frame.
*/ */
void static void
xprUnmapFrame(RootlessFrameID wid) xprUnmapFrame(RootlessFrameID wid)
{ {
xp_window_changes wc; xp_window_changes wc;
@ -318,7 +328,7 @@ xprUnmapFrame(RootlessFrameID wid)
* Start drawing to a frame. * Start drawing to a frame.
* Prepare for direct access to its backing buffer. * Prepare for direct access to its backing buffer.
*/ */
void static void
xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow) xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
{ {
void *data[2]; void *data[2];
@ -339,7 +349,7 @@ xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
/* /*
* Stop drawing to a frame. * Stop drawing to a frame.
*/ */
void static void
xprStopDrawing(RootlessFrameID wid, Bool flush) xprStopDrawing(RootlessFrameID wid, Bool flush)
{ {
TA_SERVER(); TA_SERVER();
@ -351,7 +361,7 @@ xprStopDrawing(RootlessFrameID wid, Bool flush)
/* /*
* Flush drawing updates to the screen. * Flush drawing updates to the screen.
*/ */
void static void
xprUpdateRegion(RootlessFrameID wid, RegionPtr pDamage) xprUpdateRegion(RootlessFrameID wid, RegionPtr pDamage)
{ {
TA_SERVER(); TA_SERVER();
@ -363,7 +373,7 @@ xprUpdateRegion(RootlessFrameID wid, RegionPtr pDamage)
/* /*
* Mark damaged rectangles as requiring redisplay to screen. * Mark damaged rectangles as requiring redisplay to screen.
*/ */
void static void
xprDamageRects(RootlessFrameID wid, int nrects, const BoxRec *rects, xprDamageRects(RootlessFrameID wid, int nrects, const BoxRec *rects,
int shift_x, int shift_y) int shift_x, int shift_y)
{ {
@ -377,7 +387,7 @@ xprDamageRects(RootlessFrameID wid, int nrects, const BoxRec *rects,
* Called after the window associated with a frame has been switched * Called after the window associated with a frame has been switched
* to a new top-level parent. * to a new top-level parent.
*/ */
void static void
xprSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin) xprSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin)
{ {
DeleteProperty(serverClient, oldWin, xa_native_window_id()); DeleteProperty(serverClient, oldWin, xa_native_window_id());
@ -391,7 +401,7 @@ xprSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin)
/* /*
* Called to check if the frame should be reordered when it is restacked. * Called to check if the frame should be reordered when it is restacked.
*/ */
Bool xprDoReorderWindow(RootlessWindowPtr pFrame) static Bool xprDoReorderWindow(RootlessWindowPtr pFrame)
{ {
WindowPtr pWin = pFrame->win; WindowPtr pWin = pFrame->win;
@ -405,7 +415,7 @@ Bool xprDoReorderWindow(RootlessWindowPtr pFrame)
* Copy area in frame to another part of frame. * Copy area in frame to another part of frame.
* Used to accelerate scrolling. * Used to accelerate scrolling.
*/ */
void static void
xprCopyWindow(RootlessFrameID wid, int dstNrects, const BoxRec *dstRects, xprCopyWindow(RootlessFrameID wid, int dstNrects, const BoxRec *dstRects,
int dx, int dy) int dx, int dy)
{ {
@ -473,6 +483,7 @@ xprGetXWindow(xp_window_id wid)
return winRec != NULL ? winRec->win : NULL; return winRec != NULL ? winRec->win : NULL;
} }
#ifdef UNUSED_CODE
/* /*
* Given the id of a physical window, try to find the top-level (or root) * Given the id of a physical window, try to find the top-level (or root)
* X window that it represents. * X window that it represents.
@ -503,7 +514,7 @@ xprGetXWindowFromAppKit(int windowNumber)
return winRec != NULL ? winRec->win : NULL; return winRec != NULL ? winRec->win : NULL;
} }
#endif
/* /*
* The windowNumber is an AppKit window number. Returns TRUE if xpr is * The windowNumber is an AppKit window number. Returns TRUE if xpr is

View File

@ -89,6 +89,7 @@ typedef struct _Window *SaveSetElt;
#define SaveSetAssignMap(ss,m) #define SaveSetAssignMap(ss,m)
#endif #endif
/* The unused_ members are ABI spacing. Please reuse them. */
typedef struct _Client { typedef struct _Client {
int index; int index;
Mask clientAsMask; Mask clientAsMask;
@ -104,7 +105,7 @@ typedef struct _Client {
* killed */ * killed */
SaveSetElt *saveSet; SaveSetElt *saveSet;
int numSaved; int numSaved;
pointer screenPrivate[MAXSCREENS]; void *unused_screenPrivate[16];
int (**requestVector) ( int (**requestVector) (
ClientPtr /* pClient */); ClientPtr /* pClient */);
CARD32 req_len; /* length of current request */ CARD32 req_len; /* length of current request */
@ -118,15 +119,9 @@ typedef struct _Client {
unsigned short vMajor,vMinor; unsigned short vMajor,vMinor;
KeyCode minKC,maxKC; KeyCode minKC,maxKC;
#ifdef DEBUG
unsigned char requestLog[MAX_REQUEST_LOG];
int requestLogIndex;
#endif
unsigned long replyBytesRemaining; unsigned long replyBytesRemaining;
void *appgroup; /* Can't remove, ABI */ void *unused_appgroup;
struct _FontResolution * (*fontResFunc) ( /* no need for font.h */ void *unused_fontResFunc;
ClientPtr /* pClient */,
int * /* num */);
int smart_priority; int smart_priority;
long smart_start_tick; long smart_start_tick;
long smart_stop_tick; long smart_stop_tick;

View File

@ -28,16 +28,11 @@ extern _X_EXPORT DDXPointRec dixScreenOrigins[MAXSCREENS];
extern _X_EXPORT char *ConnectionInfo; extern _X_EXPORT char *ConnectionInfo;
#ifdef DPMSExtension #ifdef DPMSExtension
extern _X_EXPORT CARD32 defaultDPMSStandbyTime;
extern _X_EXPORT CARD32 defaultDPMSSuspendTime;
extern _X_EXPORT CARD32 defaultDPMSOffTime;
extern _X_EXPORT CARD32 DPMSStandbyTime; extern _X_EXPORT CARD32 DPMSStandbyTime;
extern _X_EXPORT CARD32 DPMSSuspendTime; extern _X_EXPORT CARD32 DPMSSuspendTime;
extern _X_EXPORT CARD32 DPMSOffTime; extern _X_EXPORT CARD32 DPMSOffTime;
extern _X_EXPORT CARD16 DPMSPowerLevel; extern _X_EXPORT CARD16 DPMSPowerLevel;
extern _X_EXPORT Bool defaultDPMSEnabled;
extern _X_EXPORT Bool DPMSEnabled; extern _X_EXPORT Bool DPMSEnabled;
extern _X_EXPORT Bool DPMSEnabledSwitch;
extern _X_EXPORT Bool DPMSDisabledSwitch; extern _X_EXPORT Bool DPMSDisabledSwitch;
extern _X_EXPORT Bool DPMSCapableFlag; extern _X_EXPORT Bool DPMSCapableFlag;
#endif #endif

View File

@ -52,8 +52,6 @@ SOFTWARE.
#include "misc.h" #include "misc.h"
#include <stdarg.h> #include <stdarg.h>
#define NullFID ((FID) 0)
#define SCREEN_SAVER_ON 0 #define SCREEN_SAVER_ON 0
#define SCREEN_SAVER_OFF 1 #define SCREEN_SAVER_OFF 1
#define SCREEN_SAVER_FORCER 2 #define SCREEN_SAVER_FORCER 2
@ -66,7 +64,6 @@ SOFTWARE.
#define MAX_BIG_REQUEST_SIZE 4194303 #define MAX_BIG_REQUEST_SIZE 4194303
#endif #endif
typedef pointer FID;
typedef struct _FontPathRec *FontPathPtr; typedef struct _FontPathRec *FontPathPtr;
typedef struct _NewClientRec *NewClientPtr; typedef struct _NewClientRec *NewClientPtr;
@ -86,13 +83,6 @@ typedef struct _NewClientRec *NewClientPtr;
#include <stdio.h> #include <stdio.h>
#include <stdarg.h> #include <stdarg.h>
/* have to put $(SIGNAL_DEFINES) in DEFINES in Imakefile to get this right */
#ifdef SIGNALRETURNSINT
#define SIGVAL int
#else
#define SIGVAL void
#endif
#ifdef DDXOSVERRORF #ifdef DDXOSVERRORF
extern _X_EXPORT void (*OsVendorVErrorFProc)(const char *, va_list args); extern _X_EXPORT void (*OsVendorVErrorFProc)(const char *, va_list args);
#endif #endif
@ -205,9 +195,9 @@ extern _X_EXPORT void TimerFree(OsTimerPtr /* pTimer */);
extern _X_EXPORT void SetScreenSaverTimer(void); extern _X_EXPORT void SetScreenSaverTimer(void);
extern _X_EXPORT void FreeScreenSaverTimer(void); extern _X_EXPORT void FreeScreenSaverTimer(void);
extern _X_EXPORT SIGVAL AutoResetServer(int /*sig*/); extern _X_EXPORT void AutoResetServer(int /*sig*/);
extern _X_EXPORT SIGVAL GiveUp(int /*sig*/); extern _X_EXPORT void GiveUp(int /*sig*/);
extern _X_EXPORT void UseMsg(void); extern _X_EXPORT void UseMsg(void);
@ -237,7 +227,7 @@ extern _X_EXPORT char *Xvprintf(const char *fmt, va_list va);
extern _X_EXPORT char *XNFprintf(const char *fmt, ...); extern _X_EXPORT char *XNFprintf(const char *fmt, ...);
extern _X_EXPORT char *XNFvprintf(const char *fmt, va_list va); extern _X_EXPORT char *XNFvprintf(const char *fmt, va_list va);
typedef SIGVAL (*OsSigHandlerPtr)(int /* sig */); typedef void (*OsSigHandlerPtr)(int /* sig */);
extern _X_EXPORT OsSigHandlerPtr OsSignal(int /* sig */, OsSigHandlerPtr /* handler */); extern _X_EXPORT OsSigHandlerPtr OsSignal(int /* sig */, OsSigHandlerPtr /* handler */);

View File

@ -57,7 +57,6 @@ libmi_la_SOURCES = \
mispans.h \ mispans.h \
misprite.c \ misprite.c \
misprite.h \ misprite.h \
mispritest.h \
mistruct.h \ mistruct.h \
mivaltree.c \ mivaltree.c \
mivalidate.h \ mivalidate.h \

View File

@ -33,29 +33,106 @@ in this Software without prior written authorization from The Open Group.
#include <dix-config.h> #include <dix-config.h>
#endif #endif
# include <X11/X.h> #include <X11/X.h>
# include <X11/Xproto.h> #include <X11/Xproto.h>
# include "misc.h" #include "misc.h"
# include "pixmapstr.h" #include "pixmapstr.h"
# include "input.h" #include "input.h"
# include "mi.h" #include "mi.h"
# include "cursorstr.h" #include "cursorstr.h"
# include <X11/fonts/font.h> #include <X11/fonts/font.h>
# include "scrnintstr.h" #include "scrnintstr.h"
# include "colormapst.h" #include "colormapst.h"
# include "windowstr.h" #include "windowstr.h"
# include "gcstruct.h" #include "gcstruct.h"
# include "mipointer.h" #include "mipointer.h"
# include "mispritest.h" #include "misprite.h"
# include "dixfontstr.h" #include "dixfontstr.h"
# include <X11/fonts/fontstruct.h> #include <X11/fonts/fontstruct.h>
# include "inputstr.h" #include "inputstr.h"
#include "damage.h"
#ifdef RENDER typedef struct {
# include "mipict.h" CursorPtr pCursor;
#endif int x; /* cursor hotspot */
# include "damage.h" int y;
BoxRec saved; /* saved area from the screen */
Bool isUp; /* cursor in frame buffer */
Bool shouldBeUp; /* cursor should be displayed */
WindowPtr pCacheWin; /* window the cursor last seen in */
Bool isInCacheWin;
Bool checkPixels; /* check colormap collision */
ScreenPtr pScreen;
} miCursorInfoRec, *miCursorInfoPtr;
/*
* per screen information
*/
typedef struct {
/* screen procedures */
CloseScreenProcPtr CloseScreen;
GetImageProcPtr GetImage;
GetSpansProcPtr GetSpans;
SourceValidateProcPtr SourceValidate;
/* window procedures */
CopyWindowProcPtr CopyWindow;
/* colormap procedures */
InstallColormapProcPtr InstallColormap;
StoreColorsProcPtr StoreColors;
/* os layer procedures */
ScreenBlockHandlerProcPtr BlockHandler;
/* device cursor procedures */
DeviceCursorInitializeProcPtr DeviceCursorInitialize;
DeviceCursorCleanupProcPtr DeviceCursorCleanup;
xColorItem colors[2];
ColormapPtr pInstalledMap;
ColormapPtr pColormap;
VisualPtr pVisual;
miSpriteCursorFuncPtr funcs;
DamagePtr pDamage; /* damage tracking structure */
Bool damageRegistered;
} miSpriteScreenRec, *miSpriteScreenPtr;
#define SOURCE_COLOR 0
#define MASK_COLOR 1
/*
* Overlap BoxPtr and Box elements
*/
#define BOX_OVERLAP(pCbox,X1,Y1,X2,Y2) \
(((pCbox)->x1 <= (X2)) && ((X1) <= (pCbox)->x2) && \
((pCbox)->y1 <= (Y2)) && ((Y1) <= (pCbox)->y2))
/*
* Overlap BoxPtr, origins, and rectangle
*/
#define ORG_OVERLAP(pCbox,xorg,yorg,x,y,w,h) \
BOX_OVERLAP((pCbox),(x)+(xorg),(y)+(yorg),(x)+(xorg)+(w),(y)+(yorg)+(h))
/*
* Overlap BoxPtr, origins and RectPtr
*/
#define ORGRECT_OVERLAP(pCbox,xorg,yorg,pRect) \
ORG_OVERLAP((pCbox),(xorg),(yorg),(pRect)->x,(pRect)->y, \
(int)((pRect)->width), (int)((pRect)->height))
/*
* Overlap BoxPtr and horizontal span
*/
#define SPN_OVERLAP(pCbox,y,x,w) BOX_OVERLAP((pCbox),(x),(y),(x)+(w),(y))
#define LINE_SORT(x1,y1,x2,y2) \
{ int _t; \
if (x1 > x2) { _t = x1; x1 = x2; x2 = _t; } \
if (y1 > y2) { _t = y1; y1 = y2; y2 = _t; } }
#define LINE_OVERLAP(pCbox,x1,y1,x2,y2,lw2) \
BOX_OVERLAP((pCbox), (x1)-(lw2), (y1)-(lw2), (x2)+(lw2), (y2)+(lw2))
#define SPRITE_DEBUG_ENABLE 0 #define SPRITE_DEBUG_ENABLE 0
@ -65,29 +142,26 @@ in this Software without prior written authorization from The Open Group.
#define SPRITE_DEBUG(x) #define SPRITE_DEBUG(x)
#endif #endif
#define MISPRITE(dev) \ #define MISPRITE(dev) \
((DevHasCursor(dev)) ? \ ((DevHasCursor(dev)) ? \
(miCursorInfoPtr)dixLookupPrivate(&dev->devPrivates, miSpriteDevPrivatesKey) : \ (miCursorInfoPtr)dixLookupPrivate(&dev->devPrivates, miSpriteDevPrivatesKey) : \
(miCursorInfoPtr)dixLookupPrivate(&dev->u.master->devPrivates, miSpriteDevPrivatesKey)) (miCursorInfoPtr)dixLookupPrivate(&dev->u.master->devPrivates, miSpriteDevPrivatesKey))
static int damageRegister = 0;
static void static void
miSpriteDisableDamage(ScreenPtr pScreen, miSpriteScreenPtr pScreenPriv) miSpriteDisableDamage(ScreenPtr pScreen, miSpriteScreenPtr pScreenPriv)
{ {
if (damageRegister) { if (pScreenPriv->damageRegistered) {
DamageUnregister (&(pScreen->GetScreenPixmap(pScreen)->drawable), DamageUnregister (&(pScreen->GetScreenPixmap(pScreen)->drawable),
pScreenPriv->pDamage); pScreenPriv->pDamage);
damageRegister = 0; pScreenPriv->damageRegistered = 0;
} }
} }
static void static void
miSpriteEnableDamage(ScreenPtr pScreen, miSpriteScreenPtr pScreenPriv) miSpriteEnableDamage(ScreenPtr pScreen, miSpriteScreenPtr pScreenPriv)
{ {
if (!damageRegister) { if (!pScreenPriv->damageRegistered) {
damageRegister = 1; pScreenPriv->damageRegistered = 1;
DamageRegister (&(pScreen->GetScreenPixmap(pScreen)->drawable), DamageRegister (&(pScreen->GetScreenPixmap(pScreen)->drawable),
pScreenPriv->pDamage); pScreenPriv->pDamage);
} }
@ -111,8 +185,8 @@ miSpriteIsDown(miCursorInfoPtr pDevCursor)
static int miSpriteScreenKeyIndex; static int miSpriteScreenKeyIndex;
static DevPrivateKey miSpriteScreenKey = &miSpriteScreenKeyIndex; static DevPrivateKey miSpriteScreenKey = &miSpriteScreenKeyIndex;
static int mmiSpriteDevPrivatesKeyIndex; static int miSpriteDevPrivatesKeyIndex;
static DevPrivateKey miSpriteDevPrivatesKey = &mmiSpriteDevPrivatesKeyIndex; static DevPrivateKey miSpriteDevPrivatesKey = &miSpriteDevPrivatesKeyIndex;
static Bool miSpriteCloseScreen(int i, ScreenPtr pScreen); static Bool miSpriteCloseScreen(int i, ScreenPtr pScreen);
static void miSpriteGetImage(DrawablePtr pDrawable, int sx, int sy, static void miSpriteGetImage(DrawablePtr pDrawable, int sx, int sy,
@ -188,8 +262,7 @@ miSpriteReportDamage (DamagePtr pDamage, RegionPtr pRegion, void *closure)
miCursorInfoPtr pCursorInfo; miCursorInfoPtr pCursorInfo;
DeviceIntPtr pDev; DeviceIntPtr pDev;
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
for (pDev = inputInfo.devices; pDev; pDev = pDev->next) for (pDev = inputInfo.devices; pDev; pDev = pDev->next)
{ {
@ -199,8 +272,7 @@ miSpriteReportDamage (DamagePtr pDamage, RegionPtr pRegion, void *closure)
if (pCursorInfo->isUp && if (pCursorInfo->isUp &&
pCursorInfo->pScreen == pScreen && pCursorInfo->pScreen == pScreen &&
RECT_IN_REGION (pScreen, pRegion, &pCursorInfo->saved) miRectIn(pRegion, &pCursorInfo->saved) != rgnOUT)
!= rgnOUT)
{ {
SPRITE_DEBUG(("Damage remove\n")); SPRITE_DEBUG(("Damage remove\n"));
miSpriteRemoveCursor (pDev, pScreen); miSpriteRemoveCursor (pDev, pScreen);
@ -231,15 +303,15 @@ miSpriteInitialize (ScreenPtr pScreen,
return FALSE; return FALSE;
pScreenPriv->pDamage = DamageCreate (miSpriteReportDamage, pScreenPriv->pDamage = DamageCreate (miSpriteReportDamage,
(DamageDestroyFunc) 0, NULL,
DamageReportRawRegion, DamageReportRawRegion,
TRUE, TRUE,
pScreen, pScreen,
(void *) pScreen); pScreen);
if (!miPointerInitialize (pScreen, &miSpritePointerFuncs, screenFuncs,TRUE)) if (!miPointerInitialize (pScreen, &miSpritePointerFuncs, screenFuncs,TRUE))
{ {
xfree ((pointer) pScreenPriv); xfree (pScreenPriv);
return FALSE; return FALSE;
} }
for (pVisual = pScreen->visuals; for (pVisual = pScreen->visuals;
@ -271,6 +343,8 @@ miSpriteInitialize (ScreenPtr pScreen,
pScreenPriv->colors[MASK_COLOR].red = 0; pScreenPriv->colors[MASK_COLOR].red = 0;
pScreenPriv->colors[MASK_COLOR].green = 0; pScreenPriv->colors[MASK_COLOR].green = 0;
pScreenPriv->colors[MASK_COLOR].blue = 0; pScreenPriv->colors[MASK_COLOR].blue = 0;
pScreenPriv->damageRegistered = 0;
dixSetPrivate(&pScreen->devPrivates, miSpriteScreenKey, pScreenPriv); dixSetPrivate(&pScreen->devPrivates, miSpriteScreenKey, pScreenPriv);
pScreen->CloseScreen = miSpriteCloseScreen; pScreen->CloseScreen = miSpriteCloseScreen;
@ -284,8 +358,6 @@ miSpriteInitialize (ScreenPtr pScreen,
pScreen->BlockHandler = miSpriteBlockHandler; pScreen->BlockHandler = miSpriteBlockHandler;
damageRegister = 0;
return TRUE; return TRUE;
} }
@ -303,8 +375,7 @@ miSpriteCloseScreen (int i, ScreenPtr pScreen)
{ {
miSpriteScreenPtr pScreenPriv; miSpriteScreenPtr pScreenPriv;
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
pScreen->CloseScreen = pScreenPriv->CloseScreen; pScreen->CloseScreen = pScreenPriv->CloseScreen;
pScreen->GetImage = pScreenPriv->GetImage; pScreen->GetImage = pScreenPriv->GetImage;
pScreen->GetSpans = pScreenPriv->GetSpans; pScreen->GetSpans = pScreenPriv->GetSpans;
@ -315,7 +386,7 @@ miSpriteCloseScreen (int i, ScreenPtr pScreen)
DamageDestroy (pScreenPriv->pDamage); DamageDestroy (pScreenPriv->pDamage);
xfree ((pointer) pScreenPriv); xfree (pScreenPriv);
return (*pScreen->CloseScreen) (i, pScreen); return (*pScreen->CloseScreen) (i, pScreen);
} }
@ -332,22 +403,22 @@ miSpriteGetImage (DrawablePtr pDrawable, int sx, int sy, int w, int h,
SCREEN_PROLOGUE (pScreen, GetImage); SCREEN_PROLOGUE (pScreen, GetImage);
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, if (pDrawable->type == DRAWABLE_WINDOW)
miSpriteScreenKey);
for(pDev = inputInfo.devices; pDev; pDev = pDev->next)
{ {
if (DevHasCursor(pDev)) pScreenPriv = dixLookupPrivate(&pScreen->devPrivates,miSpriteScreenKey);
for(pDev = inputInfo.devices; pDev; pDev = pDev->next)
{ {
pCursorInfo = MISPRITE(pDev); if (DevHasCursor(pDev))
if (pDrawable->type == DRAWABLE_WINDOW && {
pCursorInfo->isUp && pCursorInfo = MISPRITE(pDev);
pCursorInfo->pScreen == pScreen && if (pCursorInfo->isUp && pCursorInfo->pScreen == pScreen &&
ORG_OVERLAP(&pCursorInfo->saved,pDrawable->x,pDrawable->y, ORG_OVERLAP(&pCursorInfo->saved,pDrawable->x,pDrawable->y,
sx, sy, w, h)) sx, sy, w, h))
{ {
SPRITE_DEBUG (("GetImage remove\n")); SPRITE_DEBUG (("GetImage remove\n"));
miSpriteRemoveCursor (pDev, pScreen); miSpriteRemoveCursor (pDev, pScreen);
} }
}
} }
} }
@ -368,38 +439,38 @@ miSpriteGetSpans (DrawablePtr pDrawable, int wMax, DDXPointPtr ppt,
SCREEN_PROLOGUE (pScreen, GetSpans); SCREEN_PROLOGUE (pScreen, GetSpans);
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, if (pDrawable->type == DRAWABLE_WINDOW)
miSpriteScreenKey);
for(pDev = inputInfo.devices; pDev; pDev = pDev->next)
{ {
if (DevHasCursor(pDev)) pScreenPriv = dixLookupPrivate(&pScreen->devPrivates,miSpriteScreenKey);
for(pDev = inputInfo.devices; pDev; pDev = pDev->next)
{ {
pCursorInfo = MISPRITE(pDev); if (DevHasCursor(pDev))
if (pDrawable->type == DRAWABLE_WINDOW &&
pCursorInfo->isUp &&
pCursorInfo->pScreen == pScreen)
{ {
DDXPointPtr pts; pCursorInfo = MISPRITE(pDev);
int *widths;
int nPts;
int xorg,
yorg;
xorg = pDrawable->x; if (pCursorInfo->isUp && pCursorInfo->pScreen == pScreen)
yorg = pDrawable->y;
for (pts = ppt, widths = pwidth, nPts = nspans;
nPts--;
pts++, widths++)
{ {
if (SPN_OVERLAP(&pCursorInfo->saved,pts->y+yorg, DDXPointPtr pts;
pts->x+xorg,*widths)) int *widths;
int nPts;
int xorg,
yorg;
xorg = pDrawable->x;
yorg = pDrawable->y;
for (pts = ppt, widths = pwidth, nPts = nspans;
nPts--;
pts++, widths++)
{ {
SPRITE_DEBUG (("GetSpans remove\n")); if (SPN_OVERLAP(&pCursorInfo->saved,pts->y+yorg,
miSpriteRemoveCursor (pDev, pScreen); pts->x+xorg,*widths))
break; {
SPRITE_DEBUG (("GetSpans remove\n"));
miSpriteRemoveCursor (pDev, pScreen);
break;
}
} }
} }
} }
@ -422,23 +493,24 @@ miSpriteSourceValidate (DrawablePtr pDrawable, int x, int y, int width,
SCREEN_PROLOGUE (pScreen, SourceValidate); SCREEN_PROLOGUE (pScreen, SourceValidate);
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, if (pDrawable->type == DRAWABLE_WINDOW)
miSpriteScreenKey);
for(pDev = inputInfo.devices; pDev; pDev = pDev->next)
{ {
if (DevHasCursor(pDev)) pScreenPriv = dixLookupPrivate(&pScreen->devPrivates,miSpriteScreenKey);
{
pCursorInfo = MISPRITE(pDev); for(pDev = inputInfo.devices; pDev; pDev = pDev->next)
if (pDrawable->type == DRAWABLE_WINDOW && pCursorInfo->isUp && {
pCursorInfo->pScreen == pScreen && if (DevHasCursor(pDev))
ORG_OVERLAP(&pCursorInfo->saved, pDrawable->x, pDrawable->y, {
x, y, width, height)) pCursorInfo = MISPRITE(pDev);
{ if (pCursorInfo->isUp && pCursorInfo->pScreen == pScreen &&
SPRITE_DEBUG (("SourceValidate remove\n")); ORG_OVERLAP(&pCursorInfo->saved, pDrawable->x, pDrawable->y,
miSpriteRemoveCursor (pDev, pScreen); x, y, width, height))
} {
} SPRITE_DEBUG (("SourceValidate remove\n"));
miSpriteRemoveCursor (pDev, pScreen);
}
}
}
} }
if (pScreen->SourceValidate) if (pScreen->SourceValidate)
@ -457,8 +529,7 @@ miSpriteCopyWindow (WindowPtr pWindow, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
SCREEN_PROLOGUE (pScreen, CopyWindow); SCREEN_PROLOGUE (pScreen, CopyWindow);
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
for(pDev = inputInfo.devices; pDev; pDev = pDev->next) for(pDev = inputInfo.devices; pDev; pDev = pDev->next)
{ {
@ -469,7 +540,7 @@ miSpriteCopyWindow (WindowPtr pWindow, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
* Damage will take care of destination check * Damage will take care of destination check
*/ */
if (pCursorInfo->isUp && pCursorInfo->pScreen == pScreen && if (pCursorInfo->isUp && pCursorInfo->pScreen == pScreen &&
RECT_IN_REGION (pScreen, prgnSrc, &pCursorInfo->saved) != rgnOUT) miRectIn(prgnSrc, &pCursorInfo->saved) != rgnOUT)
{ {
SPRITE_DEBUG (("CopyWindow remove\n")); SPRITE_DEBUG (("CopyWindow remove\n"));
miSpriteRemoveCursor (pDev, pScreen); miSpriteRemoveCursor (pDev, pScreen);
@ -490,8 +561,7 @@ miSpriteBlockHandler (int i, pointer blockData, pointer pTimeout,
DeviceIntPtr pDev; DeviceIntPtr pDev;
miCursorInfoPtr pCursorInfo; miCursorInfoPtr pCursorInfo;
pPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
SCREEN_PROLOGUE(pScreen, BlockHandler); SCREEN_PROLOGUE(pScreen, BlockHandler);
(*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask); (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
@ -534,8 +604,7 @@ miSpriteInstallColormap (ColormapPtr pMap)
ScreenPtr pScreen = pMap->pScreen; ScreenPtr pScreen = pMap->pScreen;
miSpriteScreenPtr pPriv; miSpriteScreenPtr pPriv;
pPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
SCREEN_PROLOGUE(pScreen, InstallColormap); SCREEN_PROLOGUE(pScreen, InstallColormap);
(*pScreen->InstallColormap) (pMap); (*pScreen->InstallColormap) (pMap);
@ -573,8 +642,7 @@ miSpriteStoreColors (ColormapPtr pMap, int ndef, xColorItem *pdef)
DeviceIntPtr pDev; DeviceIntPtr pDev;
miCursorInfoPtr pCursorInfo; miCursorInfoPtr pCursorInfo;
pPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
SCREEN_PROLOGUE(pScreen, StoreColors); SCREEN_PROLOGUE(pScreen, StoreColors);
(*pScreen->StoreColors) (pMap, ndef, pdef); (*pScreen->StoreColors) (pMap, ndef, pdef);
@ -649,7 +717,7 @@ miSpriteStoreColors (ColormapPtr pMap, int ndef, xColorItem *pdef)
static void static void
miSpriteFindColors (miCursorInfoPtr pDevCursor, ScreenPtr pScreen) miSpriteFindColors (miCursorInfoPtr pDevCursor, ScreenPtr pScreen)
{ {
miSpriteScreenPtr pScreenPriv = (miSpriteScreenPtr) miSpriteScreenPtr pScreenPriv =
dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey); dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
CursorPtr pCursor; CursorPtr pCursor;
xColorItem *sourceColor, *maskColor; xColorItem *sourceColor, *maskColor;
@ -695,8 +763,7 @@ miSpriteRealizeCursor (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)
miSpriteScreenPtr pScreenPriv; miSpriteScreenPtr pScreenPriv;
miCursorInfoPtr pCursorInfo; miCursorInfoPtr pCursorInfo;
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
if (!pDev->isMaster && !pDev->u.master) if (!pDev->isMaster && !pDev->u.master)
{ {
ErrorF("[mi] miSpriteRealizeCursor called for floating device.\n"); ErrorF("[mi] miSpriteRealizeCursor called for floating device.\n");
@ -715,8 +782,7 @@ miSpriteUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)
{ {
miSpriteScreenPtr pScreenPriv; miSpriteScreenPtr pScreenPriv;
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
return (*pScreenPriv->funcs->UnrealizeCursor) (pScreen, pCursor); return (*pScreenPriv->funcs->UnrealizeCursor) (pScreen, pCursor);
} }
@ -727,8 +793,7 @@ miSpriteSetCursor (DeviceIntPtr pDev, ScreenPtr pScreen,
miSpriteScreenPtr pScreenPriv; miSpriteScreenPtr pScreenPriv;
miCursorInfoPtr pPointer; miCursorInfoPtr pPointer;
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
if (!pDev->isMaster && !pDev->u.master) if (!pDev->isMaster && !pDev->u.master)
{ {
@ -846,8 +911,7 @@ miSpriteMoveCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
miSpriteScreenPtr pScreenPriv; miSpriteScreenPtr pScreenPriv;
CursorPtr pCursor; CursorPtr pCursor;
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
if (!pDev->isMaster && !pDev->u.master) if (!pDev->isMaster && !pDev->u.master)
{ {
ErrorF("[mi] miSpriteMoveCursor called for floating device.\n"); ErrorF("[mi] miSpriteMoveCursor called for floating device.\n");
@ -866,8 +930,7 @@ miSpriteDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScreen)
miCursorInfoPtr pCursorInfo; miCursorInfoPtr pCursorInfo;
int ret = FALSE; int ret = FALSE;
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
pCursorInfo = xalloc(sizeof(miCursorInfoRec)); pCursorInfo = xalloc(sizeof(miCursorInfoRec));
if (!pCursorInfo) if (!pCursorInfo)
@ -899,8 +962,8 @@ miSpriteDeviceCursorCleanup(DeviceIntPtr pDev, ScreenPtr pScreen)
if (DevHasCursor(pDev)) if (DevHasCursor(pDev))
{ {
miSpriteScreenPtr pScreenPriv; miSpriteScreenPtr pScreenPriv;
pScreenPriv = (miSpriteScreenPtr) pScreenPriv = dixLookupPrivate(&pScreen->devPrivates,
dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey); miSpriteScreenKey);
(*pScreenPriv->funcs->DeviceCursorCleanup)(pDev, pScreen); (*pScreenPriv->funcs->DeviceCursorCleanup)(pDev, pScreen);
} }
@ -923,8 +986,7 @@ miSpriteRemoveCursor (DeviceIntPtr pDev, ScreenPtr pScreen)
return; return;
} }
DamageDrawInternal (pScreen, TRUE); DamageDrawInternal (pScreen, TRUE);
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
pCursorInfo = MISPRITE(pDev); pCursorInfo = MISPRITE(pDev);
miSpriteIsDown(pCursorInfo); miSpriteIsDown(pCursorInfo);
@ -964,8 +1026,7 @@ miSpriteSaveUnderCursor(DeviceIntPtr pDev, ScreenPtr pScreen)
return; return;
} }
DamageDrawInternal (pScreen, TRUE); DamageDrawInternal (pScreen, TRUE);
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
pCursorInfo = MISPRITE(pDev); pCursorInfo = MISPRITE(pDev);
miSpriteComputeSaved (pDev, pScreen); miSpriteComputeSaved (pDev, pScreen);
@ -1009,8 +1070,7 @@ miSpriteRestoreCursor (DeviceIntPtr pDev, ScreenPtr pScreen)
} }
DamageDrawInternal (pScreen, TRUE); DamageDrawInternal (pScreen, TRUE);
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
pCursorInfo = MISPRITE(pDev); pCursorInfo = MISPRITE(pDev);
miSpriteComputeSaved (pDev, pScreen); miSpriteComputeSaved (pDev, pScreen);
@ -1052,8 +1112,7 @@ miSpriteComputeSaved (DeviceIntPtr pDev, ScreenPtr pScreen)
ErrorF("[mi] miSpriteComputeSaved called for floating device.\n"); ErrorF("[mi] miSpriteComputeSaved called for floating device.\n");
return; return;
} }
pScreenPriv = (miSpriteScreenPtr)dixLookupPrivate(&pScreen->devPrivates, pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, miSpriteScreenKey);
miSpriteScreenKey);
pCursorInfo = MISPRITE(pDev); pCursorInfo = MISPRITE(pDev);
pCursor = pCursorInfo->pCursor; pCursor = pCursorInfo->pCursor;

View File

@ -1,127 +0,0 @@
/*
* mispritest.h
*
* mi sprite structures
*/
/*
Copyright 1989, 1998 The Open Group
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.
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 THE
OPEN GROUP 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 The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
#ifndef _MISPRITEST_H_
#define _MISPRITEST_H_
# include "misprite.h"
#ifdef RENDER
# include "picturestr.h"
#endif
# include "damage.h"
typedef struct {
CursorPtr pCursor;
int x; /* cursor hotspot */
int y;
BoxRec saved; /* saved area from the screen */
Bool isUp; /* cursor in frame buffer */
Bool shouldBeUp; /* cursor should be displayed */
WindowPtr pCacheWin; /* window the cursor last seen in */
Bool isInCacheWin;
Bool checkPixels; /* check colormap collision */
ScreenPtr pScreen;
} miCursorInfoRec, *miCursorInfoPtr;
/*
* per screen information
*/
typedef struct {
/* screen procedures */
CloseScreenProcPtr CloseScreen;
GetImageProcPtr GetImage;
GetSpansProcPtr GetSpans;
SourceValidateProcPtr SourceValidate;
/* window procedures */
CopyWindowProcPtr CopyWindow;
/* colormap procedures */
InstallColormapProcPtr InstallColormap;
StoreColorsProcPtr StoreColors;
/* os layer procedures */
ScreenBlockHandlerProcPtr BlockHandler;
/* device cursor procedures */
DeviceCursorInitializeProcPtr DeviceCursorInitialize;
DeviceCursorCleanupProcPtr DeviceCursorCleanup;
xColorItem colors[2];
ColormapPtr pInstalledMap;
ColormapPtr pColormap;
VisualPtr pVisual;
miSpriteCursorFuncPtr funcs;
DamagePtr pDamage; /* damage tracking structure */
} miSpriteScreenRec, *miSpriteScreenPtr;
#define SOURCE_COLOR 0
#define MASK_COLOR 1
/*
* Overlap BoxPtr and Box elements
*/
#define BOX_OVERLAP(pCbox,X1,Y1,X2,Y2) \
(((pCbox)->x1 <= (X2)) && ((X1) <= (pCbox)->x2) && \
((pCbox)->y1 <= (Y2)) && ((Y1) <= (pCbox)->y2))
/*
* Overlap BoxPtr, origins, and rectangle
*/
#define ORG_OVERLAP(pCbox,xorg,yorg,x,y,w,h) \
BOX_OVERLAP((pCbox),(x)+(xorg),(y)+(yorg),(x)+(xorg)+(w),(y)+(yorg)+(h))
/*
* Overlap BoxPtr, origins and RectPtr
*/
#define ORGRECT_OVERLAP(pCbox,xorg,yorg,pRect) \
ORG_OVERLAP((pCbox),(xorg),(yorg),(pRect)->x,(pRect)->y, \
(int)((pRect)->width), (int)((pRect)->height))
/*
* Overlap BoxPtr and horizontal span
*/
#define SPN_OVERLAP(pCbox,y,x,w) BOX_OVERLAP((pCbox),(x),(y),(x)+(w),(y))
#define LINE_SORT(x1,y1,x2,y2) \
{ int _t; \
if (x1 > x2) { _t = x1; x1 = x2; x2 = _t; } \
if (y1 > y2) { _t = y1; y1 = y2; y2 = _t; } }
#define LINE_OVERLAP(pCbox,x1,y1,x2,y2,lw2) \
BOX_OVERLAP((pCbox), (x1)-(lw2), (y1)-(lw2), (x2)+(lw2), (y2)+(lw2))
#endif /* _MISPRITEST_H_ */

View File

@ -172,7 +172,6 @@ int *ConnectionTranslation = NULL;
#define MAXSOCKS 500 #define MAXSOCKS 500
#undef MAXSELECT #undef MAXSELECT
#define MAXSELECT 500 #define MAXSELECT 500
#define MAXFD 500
struct _ct_node { struct _ct_node {
struct _ct_node *next; struct _ct_node *next;
@ -346,15 +345,6 @@ InitParentProcess(void)
RunFromSmartParent = TRUE; RunFromSmartParent = TRUE;
OsSignal(SIGUSR1, handler); OsSignal(SIGUSR1, handler);
ParentProcess = getppid (); ParentProcess = getppid ();
#ifdef __UNIXOS2__
/*
* fg030505: under OS/2, xinit is not the parent process but
* the "grant parent" process of the server because execvpe()
* presents us an additional process number;
* GetPPID(pid) is part of libemxfix
*/
ParentProcess = GetPPID (ParentProcess);
#endif /* __UNIXOS2__ */
#endif #endif
} }

View File

@ -400,8 +400,7 @@ UnlockServer(void)
/* Force connections to close on SIGHUP from init */ /* Force connections to close on SIGHUP from init */
/*ARGSUSED*/ void
SIGVAL
AutoResetServer (int sig) AutoResetServer (int sig)
{ {
int olderrno = errno; int olderrno = errno;
@ -413,8 +412,7 @@ AutoResetServer (int sig)
/* Force connections to close and then exit on SIGTERM, SIGINT */ /* Force connections to close and then exit on SIGTERM, SIGINT */
/*ARGSUSED*/ void
SIGVAL
GiveUp(int sig) GiveUp(int sig)
{ {
int olderrno = errno; int olderrno = errno;
@ -487,7 +485,6 @@ void UseMsg(void)
ErrorF("-core generate core dump on fatal error\n"); ErrorF("-core generate core dump on fatal error\n");
ErrorF("-dpi int screen resolution in dots per inch\n"); ErrorF("-dpi int screen resolution in dots per inch\n");
#ifdef DPMSExtension #ifdef DPMSExtension
ErrorF("dpms enables VESA DPMS monitor control\n");
ErrorF("-dpms disables VESA DPMS monitor control\n"); ErrorF("-dpms disables VESA DPMS monitor control\n");
#endif #endif
ErrorF("-deferglyphs [none|all|16] defer loading of [no|all|16-bit] glyphs\n"); ErrorF("-deferglyphs [none|all|16] defer loading of [no|all|16-bit] glyphs\n");
@ -535,7 +532,6 @@ void UseMsg(void)
ErrorF("-v screen-saver without video blanking\n"); ErrorF("-v screen-saver without video blanking\n");
ErrorF("-wm WhenMapped default backing-store\n"); ErrorF("-wm WhenMapped default backing-store\n");
ErrorF("-wr create root window with white background\n"); ErrorF("-wr create root window with white background\n");
ErrorF("-x string loads named extension at init time \n");
ErrorF("-maxbigreqsize set maximal bigrequest size \n"); ErrorF("-maxbigreqsize set maximal bigrequest size \n");
#ifdef PANORAMIX #ifdef PANORAMIX
ErrorF("+xinerama Enable XINERAMA extension\n"); ErrorF("+xinerama Enable XINERAMA extension\n");
@ -673,7 +669,7 @@ ProcessCommandLine(int argc, char *argv[])
} }
#ifdef DPMSExtension #ifdef DPMSExtension
else if ( strcmp( argv[i], "dpms") == 0) else if ( strcmp( argv[i], "dpms") == 0)
DPMSEnabledSwitch = TRUE; /* ignored for compatibility */ ;
else if ( strcmp( argv[i], "-dpms") == 0) else if ( strcmp( argv[i], "-dpms") == 0)
DPMSDisabledSwitch = TRUE; DPMSDisabledSwitch = TRUE;
#endif #endif
@ -884,14 +880,6 @@ ProcessCommandLine(int argc, char *argv[])
PanoramiXExtensionDisabledHack = TRUE; PanoramiXExtensionDisabledHack = TRUE;
} }
#endif #endif
else if ( strcmp( argv[i], "-x") == 0)
{
if(++i >= argc)
UseMsg();
/* For U**x, which doesn't support dynamic loading, there's nothing
* to do when we see a -x. Either the extension is linked in or
* it isn't */
}
else if ( strcmp( argv[i], "-I") == 0) else if ( strcmp( argv[i], "-I") == 0)
{ {
/* ignore all remaining arguments */ /* ignore all remaining arguments */

View File

@ -605,7 +605,7 @@ ProcXkbLatchLockState(ClientPtr client)
for (tmpd = inputInfo.devices; tmpd; tmpd = tmpd->next) { for (tmpd = inputInfo.devices; tmpd; tmpd = tmpd->next) {
if ((tmpd == dev) || (!tmpd->isMaster && tmpd->u.master == dev)) { if ((tmpd == dev) || (!tmpd->isMaster && tmpd->u.master == dev)) {
if (!tmpd->key->xkbInfo) if (!tmpd->key || !tmpd->key->xkbInfo)
continue; continue;
oldState = tmpd->key->xkbInfo->state; oldState = tmpd->key->xkbInfo->state;
@ -744,6 +744,8 @@ ProcXkbSetControls(ClientPtr client)
CHK_MASK_LEGAL(0x01, stuff->changeCtrls, XkbAllControlsMask); CHK_MASK_LEGAL(0x01, stuff->changeCtrls, XkbAllControlsMask);
for (tmpd = inputInfo.devices; tmpd; tmpd = tmpd->next) { for (tmpd = inputInfo.devices; tmpd; tmpd = tmpd->next) {
if (!tmpd->key || !tmpd->key->xkbInfo)
continue;
if ((tmpd == dev) || (!tmpd->isMaster && tmpd->u.master == dev)) { if ((tmpd == dev) || (!tmpd->isMaster && tmpd->u.master == dev)) {
xkbi = tmpd->key->xkbInfo; xkbi = tmpd->key->xkbInfo;
ctrl = xkbi->desc->ctrls; ctrl = xkbi->desc->ctrls;

View File

@ -643,7 +643,7 @@ XkbCopySrvLedInfo( DeviceIntPtr from,
else else
sli_new->fb.lf = lf; sli_new->fb.lf = lf;
if (sli_new->flags & XkbSLI_IsDefault) { if (!(sli_new->flags & XkbSLI_IsDefault)) {
sli_new->names= _XkbTypedCalloc(XkbNumIndicators,Atom); sli_new->names= _XkbTypedCalloc(XkbNumIndicators,Atom);
sli_new->maps= _XkbTypedCalloc(XkbNumIndicators,XkbIndicatorMapRec); sli_new->maps= _XkbTypedCalloc(XkbNumIndicators,XkbIndicatorMapRec);
} /* else sli_new->names/maps is pointing to } /* else sli_new->names/maps is pointing to