summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
Diffstat (limited to 'hw')
-rw-r--r--hw/dmx/glxProxy/glxcmds.c2
-rw-r--r--hw/dmx/glxProxy/glxext.c18
-rw-r--r--hw/kdrive/fake/fake.c7
-rw-r--r--hw/kdrive/linux/tslib.c15
-rw-r--r--hw/xfree86/common/Makefile.am2
-rw-r--r--hw/xfree86/common/xf86Config.c67
-rw-r--r--hw/xfree86/common/xf86DGA.c4
-rw-r--r--hw/xfree86/common/xf86Mode.c64
-rw-r--r--hw/xfree86/common/xf86Xinput.c35
-rw-r--r--hw/xfree86/common/xf86Xinput.h2
-rw-r--r--hw/xfree86/ddc/ddc.c4
-rw-r--r--hw/xfree86/doc/man/xorg.conf.man.pre15
-rw-r--r--hw/xfree86/dri2/dri2.c11
-rwxr-xr-xhw/xfree86/loader/sdksyms.sh1
-rw-r--r--hw/xfree86/modes/xf86Crtc.c3
-rw-r--r--hw/xfree86/modes/xf86Rotate.c2
-rw-r--r--hw/xfree86/os-support/hurd/hurd_mmap.c12
-rw-r--r--hw/xfree86/os-support/hurd/hurd_video.c27
-rw-r--r--hw/xfree86/os-support/linux/lnx_video.c2
-rw-r--r--hw/xfree86/os-support/shared/sigio.c9
-rw-r--r--hw/xfree86/parser/DRI.c64
-rw-r--r--hw/xfree86/parser/scan.c63
-rw-r--r--hw/xfree86/parser/xf86Parser.h11
-rw-r--r--hw/xfree86/parser/xf86tokens.h1
-rw-r--r--hw/xfree86/x86emu/ops.c20
-rw-r--r--hw/xwin/InitInput.c15
-rw-r--r--hw/xwin/InitOutput.c48
-rw-r--r--hw/xwin/Makefile.am4
-rw-r--r--hw/xwin/XWin.man.pre8
-rw-r--r--[-rwxr-xr-x]hw/xwin/XWinrc.man.pre0
-rw-r--r--[-rwxr-xr-x]hw/xwin/glx/glwrap.c0
-rw-r--r--[-rwxr-xr-x]hw/xwin/glx/indirect.c5
-rw-r--r--hw/xwin/win.h14
-rw-r--r--hw/xwin/winblock.c10
-rw-r--r--hw/xwin/winclipboardthread.c2
-rw-r--r--[-rwxr-xr-x]hw/xwin/winclipboardwrappers.c0
-rw-r--r--hw/xwin/winclipboardxevents.c6
-rw-r--r--hw/xwin/wincmap.c7
-rw-r--r--hw/xwin/winconfig.c12
-rw-r--r--hw/xwin/wincursor.c4
-rw-r--r--[-rwxr-xr-x]hw/xwin/windialogs.c26
-rw-r--r--hw/xwin/winengine.c24
-rw-r--r--hw/xwin/winerror.c18
-rw-r--r--hw/xwin/winglobals.c8
-rw-r--r--hw/xwin/winglobals.h88
-rw-r--r--hw/xwin/winkeybd.c2
-rw-r--r--[-rwxr-xr-x]hw/xwin/winkeyhook.c8
-rw-r--r--hw/xwin/winlayouts.h266
-rw-r--r--hw/xwin/winmouse.c13
-rw-r--r--[-rwxr-xr-x]hw/xwin/winmultiwindowclass.c0
-rw-r--r--[-rwxr-xr-x]hw/xwin/winmultiwindowclass.h0
-rw-r--r--hw/xwin/winmultiwindowicons.c7
-rw-r--r--hw/xwin/winmultiwindowwindow.c10
-rw-r--r--hw/xwin/winmultiwindowwm.c4
-rw-r--r--hw/xwin/winmultiwindowwndproc.c9
-rw-r--r--hw/xwin/winnativegdi.c7
-rw-r--r--hw/xwin/winpfbdd.c8
-rw-r--r--hw/xwin/winpixmap.c7
-rw-r--r--hw/xwin/winprefs.c11
-rw-r--r--hw/xwin/winprefs.h3
-rw-r--r--[-rwxr-xr-x]hw/xwin/winprocarg.c26
-rw-r--r--[-rwxr-xr-x]hw/xwin/winrandr.c0
-rw-r--r--hw/xwin/winscrinit.c8
-rw-r--r--hw/xwin/winshaddd.c57
-rw-r--r--hw/xwin/winshadddnl.c55
-rw-r--r--hw/xwin/winshadgdi.c57
-rw-r--r--[-rwxr-xr-x]hw/xwin/wintrayicon.c0
-rw-r--r--[-rwxr-xr-x]hw/xwin/winvalargs.c7
-rw-r--r--[-rwxr-xr-x]hw/xwin/winvideo.c0
-rw-r--r--hw/xwin/winwakeup.c10
-rw-r--r--[-rwxr-xr-x]hw/xwin/winwin32rootless.c1
-rw-r--r--[-rwxr-xr-x]hw/xwin/winwin32rootlesswindow.c0
-rw-r--r--[-rwxr-xr-x]hw/xwin/winwin32rootlesswndproc.c8
-rw-r--r--[-rwxr-xr-x]hw/xwin/winwindowswm.c30
-rw-r--r--hw/xwin/winwndproc.c18
75 files changed, 394 insertions, 998 deletions
diff --git a/hw/dmx/glxProxy/glxcmds.c b/hw/dmx/glxProxy/glxcmds.c
index a9744e186..760212865 100644
--- a/hw/dmx/glxProxy/glxcmds.c
+++ b/hw/dmx/glxProxy/glxcmds.c
@@ -2565,7 +2565,7 @@ int __glXClientInfo(__GLXclientState *cl, GLbyte *pc)
cl->GLClientmajorVersion = req->major;
cl->GLClientminorVersion = req->minor;
- if (cl->GLClientextensions) free(cl->GLClientextensions);
+ free(cl->GLClientextensions);
buf = (const char *)(req+1);
cl->GLClientextensions = strdup(buf);
diff --git a/hw/dmx/glxProxy/glxext.c b/hw/dmx/glxProxy/glxext.c
index a8fc0a88d..886b317c6 100644
--- a/hw/dmx/glxProxy/glxext.c
+++ b/hw/dmx/glxProxy/glxext.c
@@ -77,10 +77,10 @@ static void ResetClientState(int clientIndex)
Display **keep_be_displays;
int i;
- if (cl->returnBuf) free(cl->returnBuf);
- if (cl->currentContexts) free(cl->currentContexts);
- if (cl->currentDrawables) free(cl->currentDrawables);
- if (cl->largeCmdBuf) free(cl->largeCmdBuf);
+ free(cl->returnBuf);
+ free(cl->currentContexts);
+ free(cl->currentDrawables);
+ free(cl->largeCmdBuf);
for (i=0; i< screenInfo.numScreens; i++) {
if (cl->be_displays[i])
@@ -97,7 +97,7 @@ static void ResetClientState(int clientIndex)
*/
cl->GLClientmajorVersion = 1;
cl->GLClientminorVersion = 0;
- if (cl->GLClientextensions) free(cl->GLClientextensions);
+ free(cl->GLClientextensions);
memset(cl->be_displays, 0, screenInfo.numScreens * sizeof(Display *));
}
@@ -222,10 +222,10 @@ GLboolean __glXFreeContext(__GLXcontext *cx)
{
if (cx->idExists || cx->isCurrent) return GL_FALSE;
- if (cx->feedbackBuf) free(cx->feedbackBuf);
- if (cx->selectBuf) free(cx->selectBuf);
- if (cx->real_ids) free(cx->real_ids);
- if (cx->real_vids) free(cx->real_vids);
+ free(cx->feedbackBuf);
+ free(cx->selectBuf);
+ free(cx->real_ids);
+ free(cx->real_vids);
if (cx->pGlxPixmap) {
/*
diff --git a/hw/kdrive/fake/fake.c b/hw/kdrive/fake/fake.c
index b8306db0a..ba05234dc 100644
--- a/hw/kdrive/fake/fake.c
+++ b/hw/kdrive/fake/fake.c
@@ -215,11 +215,8 @@ fakeUnmapFramebuffer (KdScreenInfo *screen)
{
FakePriv *priv = screen->card->driver;
KdShadowFbFree (screen);
- if (priv->base)
- {
- free (priv->base);
- priv->base = 0;
- }
+ free(priv->base);
+ priv->base = NULL;
return TRUE;
}
diff --git a/hw/kdrive/linux/tslib.c b/hw/kdrive/linux/tslib.c
index 48a084220..570cbf99a 100644
--- a/hw/kdrive/linux/tslib.c
+++ b/hw/kdrive/linux/tslib.c
@@ -117,15 +117,22 @@ TslibEnable (KdPointerInfo *pi)
pi->path = strdup("/dev/input/touchscreen0");
ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path);
}
+
private->tsDev = ts_open(pi->path, 0);
- private->fd = ts_fd(private->tsDev);
- if (!private->tsDev || ts_config(private->tsDev) || private->fd < 0) {
+ if (!private->tsDev) {
ErrorF("[tslib/TslibEnable] failed to open %s\n", pi->path);
- if (private->fd >= 0)
- close(private->fd);
return BadAlloc;
}
+ if (ts_config(private->tsDev)) {
+ ErrorF("[tslib/TslibEnable] failed to load configuration\n");
+ ts_close(private->tsDev);
+ private->tsDev = NULL;
+ return BadValue;
+ }
+
+ private->fd = ts_fd(private->tsDev);
+
KdRegisterFd(private->fd, TsRead, pi);
return Success;
diff --git a/hw/xfree86/common/Makefile.am b/hw/xfree86/common/Makefile.am
index 821a2b500..989208f4e 100644
--- a/hw/xfree86/common/Makefile.am
+++ b/hw/xfree86/common/Makefile.am
@@ -17,8 +17,6 @@ if DGA
DGASOURCES = xf86DGA.c
endif
-XISOURCES = xf86Xinput.c xisb.c
-XISDKINCS = xf86Xinput.h xisb.h
RANDRSOURCES = xf86RandR.c
BUSSOURCES = xf86pciBus.c xf86fbBus.c xf86noBus.c $(SBUS_SOURCES)
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 51b937571..568b2d684 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -77,19 +77,19 @@
"/etc/X11/%R," "%P/etc/X11/%R," \
"%E," "%F," \
"/etc/X11/%F," "%P/etc/X11/%F," \
- "/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \
- "%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \
+ "/etc/X11/%X," "/etc/%X," \
+ "%P/etc/X11/%X.%H," \
"%P/etc/X11/%X," \
- "%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \
+ "%P/lib/X11/%X.%H," \
"%P/lib/X11/%X"
#endif
#ifndef USER_CONFIGPATH
#define USER_CONFIGPATH "/etc/X11/%S," "%P/etc/X11/%S," \
"/etc/X11/%G," "%P/etc/X11/%G," \
- "/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \
- "%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \
+ "/etc/X11/%X," "/etc/%X," \
+ "%P/etc/X11/%X.%H," \
"%P/etc/X11/%X," \
- "%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \
+ "%P/lib/X11/%X.%H," \
"%P/lib/X11/%X"
#endif
#ifndef ROOT_CONFIGDIRPATH
@@ -503,7 +503,6 @@ fixup_video_driver_list(char **drivers)
static const char *fallback[4] = { "vesa", "fbdev", "wsfb", NULL };
char **end, **drv;
char *x;
- char **ati, **atimisc;
int i;
/* walk to the end of the list */
@@ -523,24 +522,6 @@ fixup_video_driver_list(char **drivers)
}
}
}
- /*
- * since the ati wrapper driver is gross and awful, sort ati before
- * atimisc, which makes sure all the ati symbols are visible in xorgcfg.
- */
- for (drv = drivers; drv != end; drv++) {
- if (!strcmp(*drv, "atimisc")) {
- atimisc = drv;
- for (drv = atimisc; drv != end; drv++) {
- if (!strcmp(*drv, "ati")) {
- ati = drv;
- x = *ati; *ati = *atimisc; *atimisc = x;
- return;
- }
- }
- /* if we get here, ati was already ahead of atimisc */
- return;
- }
- }
}
static char **
@@ -548,7 +529,7 @@ GenerateDriverlist(char * dirname)
{
char **ret;
const char *subdirs[] = { dirname, NULL };
- static const char *patlist[] = {"(.*)_drv\\.so", "(.*)_drv\\.o", NULL};
+ static const char *patlist[] = {"(.*)_drv\\.so", NULL};
ret = LoaderListDirs(subdirs, patlist);
/* fix up the probe order for video drivers */
@@ -760,8 +741,6 @@ static OptionInfoRec FlagOptions[] = {
{0}, FALSE },
{ FLAG_AIGLX, "AIGLX", OPTV_BOOLEAN,
{0}, FALSE },
- { FLAG_ALLOW_EMPTY_INPUT, "AllowEmptyInput", OPTV_BOOLEAN,
- {0}, FALSE },
{ FLAG_IGNORE_ABI, "IgnoreABI", OPTV_BOOLEAN,
{0}, FALSE },
{ FLAG_USE_DEFAULT_FONT_PATH, "UseDefaultFontPath", OPTV_BOOLEAN,
@@ -974,7 +953,6 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
/* AllowEmptyInput is automatically true if we're hotplugging */
xf86Info.allowEmptyInput = (xf86Info.autoAddDevices && xf86Info.autoEnableDevices);
- xf86GetOptValBool(FlagOptions, FLAG_ALLOW_EMPTY_INPUT, &xf86Info.allowEmptyInput);
/* AEI on? Then we're not using kbd, so use the evdev rules set. */
#if defined(linux)
@@ -1433,8 +1411,10 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout)
"reconfigure %s or disable AutoAddDevices.\n",
config_backend, config_backend);
#else
- xf86Msg(X_INFO, "Hotplugging is disabled and no input devices were configured.\n"
- "\tTry disabling AllowEmptyInput.\n");
+ xf86Msg(X_WARNING, "Hotplugging requested but the server was "
+ "compiled without a config backend. "
+ "No input devices were configured, the server "
+ "will start without any input devices.\n");
#endif
}
@@ -2206,15 +2186,10 @@ configDevice(GDevPtr devicep, XF86ConfDevicePtr conf_device, Bool active)
static void
configDRI(XF86ConfDRIPtr drip)
{
- int count = 0;
- XF86ConfBuffersPtr bufs;
- int i;
struct group *grp;
xf86ConfigDRI.group = -1;
xf86ConfigDRI.mode = 0;
- xf86ConfigDRI.bufs_count = 0;
- xf86ConfigDRI.bufs = NULL;
if (drip) {
if (drip->dri_group_name) {
@@ -2225,24 +2200,6 @@ configDRI(XF86ConfDRIPtr drip)
xf86ConfigDRI.group = drip->dri_group;
}
xf86ConfigDRI.mode = drip->dri_mode;
- for (bufs = drip->dri_buffers_lst; bufs; bufs = bufs->list.next)
- ++count;
-
- xf86ConfigDRI.bufs_count = count;
- xf86ConfigDRI.bufs = xnfalloc(count * sizeof(*xf86ConfigDRI.bufs));
-
- for (i = 0, bufs = drip->dri_buffers_lst;
- i < count;
- i++, bufs = bufs->list.next) {
-
- xf86ConfigDRI.bufs[i].count = bufs->buf_count;
- xf86ConfigDRI.bufs[i].size = bufs->buf_size;
- /* FIXME: Flags not implemented. These
- could be used, for example, to specify a
- contiguous block and/or write-combining
- cache policy. */
- xf86ConfigDRI.bufs[i].flags = 0;
- }
}
}
#endif
@@ -2371,7 +2328,7 @@ checkInput(serverLayoutPtr layout, Bool implicit_layout) {
InputInfoPtr *current;
if (!warned)
{
- xf86Msg(X_WARNING, "AllowEmptyInput is on, devices using "
+ xf86Msg(X_WARNING, "Hotplugging is on, devices using "
"drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.\n");
warned = TRUE;
}
diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c
index c468c6038..1058a466c 100644
--- a/hw/xfree86/common/xf86DGA.c
+++ b/hw/xfree86/common/xf86DGA.c
@@ -1133,6 +1133,10 @@ DGAProcessPointerEvent (ScreenPtr pScreen, DGAEvent *event, DeviceIntPtr mouse)
ev.root_x = event->dx;
ev.root_y = event->dy;
ev.corestate = event->state;
+ /* DGA is core only, so valuators.data doesn't actually matter.
+ * Mask must be set for EventToCore to create motion events. */
+ SetBit(ev.valuators.mask, 0);
+ SetBit(ev.valuators.mask, 1);
DeliverGrabbedEvent ((InternalEvent*)&ev, mouse, FALSE);
}
}
diff --git a/hw/xfree86/common/xf86Mode.c b/hw/xfree86/common/xf86Mode.c
index 7bdf79a68..d03310e20 100644
--- a/hw/xfree86/common/xf86Mode.c
+++ b/hw/xfree86/common/xf86Mode.c
@@ -1831,8 +1831,6 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
numModes++;
}
-#undef _VIRTUALX
-
/*
* If we estimated the virtual size above, we may have filtered away all
* the modes that maximally match that size; scan again to find out and
@@ -1847,13 +1845,69 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
}
}
if (vx < virtX || vy < virtY) {
+ const int types[] = {
+ M_T_BUILTIN | M_T_PREFERRED,
+ M_T_BUILTIN,
+ M_T_DRIVER | M_T_PREFERRED,
+ M_T_DRIVER,
+ 0
+ };
+ const int ntypes = sizeof(types) / sizeof(int);
+ int n;
+
+ /*
+ * We did not find the estimated virtual size. So now we want to
+ * find the largest mode available, but we want to search in the
+ * modes in the order of "types" listed above.
+ */
+ for (n = 0; n < ntypes; n++) {
+ int type = types[n];
+
+ vx = 0; vy = 0;
+ for (p = scrp->modes; p; p = p->next) {
+ /* scan through the modes in the sort order above */
+ if ((p->type & type) != type)
+ continue;
+ if (p->HDisplay > vx && p->VDisplay > vy) {
+ vx = p->HDisplay;
+ vy = p->VDisplay;
+ }
+ }
+ if (vx && vy)
+ /* Found one */
+ break;
+ }
xf86DrvMsg(scrp->scrnIndex, X_WARNING,
"Shrinking virtual size estimate from %dx%d to %dx%d\n",
virtX, virtY, vx, vy);
- virtX = vx;
+ virtX = _VIRTUALX(vx);
virtY = vy;
- linePitch = scanLineWidth(vx, vy, minPitch, apertureSize,
- BankFormat, pitchInc);
+ for (p = scrp->modes; p; p = p->next) {
+ if (numModes > 0) {
+ if (p->HDisplay > virtX)
+ p->status = MODE_VIRTUAL_X;
+ if (p->VDisplay > virtY)
+ p->status = MODE_VIRTUAL_Y;
+ if (p->status != MODE_OK) {
+ numModes--;
+ printModeRejectMessage(scrp->scrnIndex, p, p->status);
+ }
+ }
+ }
+ if (linePitches != NULL) {
+ for (i = 0; linePitches[i] != 0; i++) {
+ if ((linePitches[i] >= virtX) &&
+ (linePitches[i] ==
+ scanLineWidth(virtX, virtY, linePitches[i],
+ apertureSize, BankFormat, pitchInc))) {
+ linePitch = linePitches[i];
+ break;
+ }
+ }
+ } else {
+ linePitch = scanLineWidth(virtX, virtY, minPitch,
+ apertureSize, BankFormat, pitchInc);
+ }
}
}
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index b910cf8c5..3664d46fb 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -1266,40 +1266,43 @@ xf86FirstLocalDevice(void)
/*
* Cx - raw data from touch screen
- * Sxhigh - scaled highest dimension
+ * to_max - scaled highest dimension
* (remember, this is of rows - 1 because of 0 origin)
- * Sxlow - scaled lowest dimension
- * Rxhigh - highest raw value from touch screen calibration
- * Rxlow - lowest raw value from touch screen calibration
+ * to_min - scaled lowest dimension
+ * from_max - highest raw value from touch screen calibration
+ * from_min - lowest raw value from touch screen calibration
*
* This function is the same for X or Y coordinates.
* You may have to reverse the high and low values to compensate for
* different orgins on the touch screen vs X.
+ *
+ * e.g. to scale from device coordinates into screen coordinates, call
+ * xf86ScaleAxis(x, 0, screen_width, dev_min, dev_max);
*/
int
xf86ScaleAxis(int Cx,
- int Sxhigh,
- int Sxlow,
- int Rxhigh,
- int Rxlow )
+ int to_max,
+ int to_min,
+ int from_max,
+ int from_min )
{
int X;
- int64_t dSx = Sxhigh - Sxlow;
- int64_t dRx = Rxhigh - Rxlow;
+ int64_t to_width = to_max - to_min;
+ int64_t from_width = from_max - from_min;
- if (dRx) {
- X = (int)(((dSx * (Cx - Rxlow)) / dRx) + Sxlow);
+ if (from_width) {
+ X = (int)(((to_width * (Cx - from_min)) / from_width) + to_min);
}
else {
X = 0;
ErrorF ("Divide by Zero in xf86ScaleAxis");
}
- if (X > Sxhigh)
- X = Sxhigh;
- if (X < Sxlow)
- X = Sxlow;
+ if (X > to_max)
+ X = to_max;
+ if (X < to_min)
+ X = to_min;
return X;
}
diff --git a/hw/xfree86/common/xf86Xinput.h b/hw/xfree86/common/xf86Xinput.h
index b310eaf4a..3a1711697 100644
--- a/hw/xfree86/common/xf86Xinput.h
+++ b/hw/xfree86/common/xf86Xinput.h
@@ -142,7 +142,7 @@ extern _X_EXPORT void xf86PostKeyEventP(DeviceIntPtr device, unsigned int key_co
extern _X_EXPORT void xf86PostKeyboardEvent(DeviceIntPtr device, unsigned int key_code,
int is_down);
extern _X_EXPORT InputInfoPtr xf86FirstLocalDevice(void);
-extern _X_EXPORT int xf86ScaleAxis(int Cx, int Sxhigh, int Sxlow, int Rxhigh, int Rxlow);
+extern _X_EXPORT int xf86ScaleAxis(int Cx, int to_max, int to_min, int from_max, int from_min);
extern _X_EXPORT void xf86XInputSetScreen(InputInfoPtr pInfo, int screen_number, int x, int y);
extern _X_EXPORT void xf86ProcessCommonOptions(InputInfoPtr pInfo, pointer options);
extern _X_EXPORT void xf86InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, Atom label, int minval,
diff --git a/hw/xfree86/ddc/ddc.c b/hw/xfree86/ddc/ddc.c
index 2d9d4dcd2..7c7dc9c6b 100644
--- a/hw/xfree86/ddc/ddc.c
+++ b/hw/xfree86/ddc/ddc.c
@@ -314,10 +314,6 @@ DDC2Init(int scrnIndex, I2CBusPtr pBus)
dev = DDC2MakeDevice(pBus, 0x00A0, "ddc2");
if (xf86I2CProbeAddress(pBus, 0x0060))
DDC2MakeDevice(pBus, 0x0060, "E-EDID segment register");
- if (xf86I2CProbeAddress(pBus, 0x0062))
- DDC2MakeDevice(pBus, 0x0062, "EDID EEPROM interface");
- if (xf86I2CProbeAddress(pBus, 0x006E))
- DDC2MakeDevice(pBus, 0x006E, "DDC control interface");
return dev;
}
diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
index 7c7a10103..ba876c094 100644
--- a/hw/xfree86/doc/man/xorg.conf.man.pre
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -39,14 +39,11 @@ server is started as a normal user:
.IR __projectroot__/etc/X11/ <cmdline>
.IB /etc/X11/ $XORGCONFIG
.IB __projectroot__/etc/X11/ $XORGCONFIG
-.I /etc/X11/__xconfigfile__\-4
.I /etc/X11/__xconfigfile__
.I /etc/__xconfigfile__
.IR __projectroot__/etc/X11/__xconfigfile__. <hostname>
-.I __projectroot__/etc/X11/__xconfigfile__\-4
.I __projectroot__/etc/X11/__xconfigfile__
.IR __projectroot__/lib/X11/__xconfigfile__. <hostname>
-.I __projectroot__/lib/X11/__xconfigfile__\-4
.I __projectroot__/lib/X11/__xconfigfile__
.fi
.RE
@@ -74,14 +71,11 @@ search locations are as follows:
.B $XORGCONFIG
.IB /etc/X11/ $XORGCONFIG
.IB __projectroot__/etc/X11/ $XORGCONFIG
-.I /etc/X11/__xconfigfile__\-4
.I /etc/X11/__xconfigfile__
.I /etc/__xconfigfile__
.IR __projectroot__/etc/X11/__xconfigfile__. <hostname>
-.I __projectroot__/etc/X11/__xconfigfile__\-4
.I __projectroot__/etc/X11/__xconfigfile__
.IR __projectroot__/lib/X11/__xconfigfile__. <hostname>
-.I __projectroot__/lib/X11/__xconfigfile__\-4
.I __projectroot__/lib/X11/__xconfigfile__
.fi
.RE
@@ -564,9 +558,6 @@ Default: off.
This tells the mousedrv(__drivermansuffix__) and vmmouse(__drivermansuffix__)
drivers to not report failure if the mouse device can't be opened/initialised.
It has no effect on the evdev(__drivermansuffix__) or other drivers.
-The previous functionality of allowing the server to start up even if
-the mouse device can't be opened/initialised is now handled by the
-AllowEmptyInput option.
Default: false.
.TP 7
.BI "Option \*qVTSysReq\*q \*q" boolean \*q
@@ -683,12 +674,6 @@ default.
Allow modules built for a different, potentially incompatible version of
the X server to load. Disabled by default.
.TP 7
-.BI "Option \*qAllowEmptyInput\*q \*q" boolean \*q
-If enabled, don't add the standard keyboard and mouse drivers, if there are no
-input devices in the config file. Enabled by default if AutoAddDevices and
-AutoEnableDevices is enabled, otherwise disabled.
-If AllowEmptyInput is on, devices using the kbd, mouse or vmmouse driver are ignored.
-.TP 7
.BI "Option \*qAutoAddDevices\*q \*q" boolean \*q
If this option is disabled, then no devices will be added from HAL events.
Enabled by default.
diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
index 34f735f52..e4693d92e 100644
--- a/hw/xfree86/dri2/dri2.c
+++ b/hw/xfree86/dri2/dri2.c
@@ -828,11 +828,14 @@ DRI2SwapBuffers(ClientPtr client, DrawablePtr pDraw, CARD64 target_msc,
* is moved to a crtc with a lower refresh rate, or a crtc that just
* got enabled.
*/
- if (!(*ds->GetMSC)(pDraw, &ust, &current_msc))
- pPriv->last_swap_target = 0;
+ if (ds->GetMSC) {
+ if (!(*ds->GetMSC)(pDraw, &ust, &current_msc))
+ pPriv->last_swap_target = 0;
- if (current_msc < pPriv->last_swap_target)
- pPriv->last_swap_target = current_msc;
+ if (current_msc < pPriv->last_swap_target)
+ pPriv->last_swap_target = current_msc;
+
+ }
/*
* Swap target for this swap is last swap target + swap interval since
diff --git a/hw/xfree86/loader/sdksyms.sh b/hw/xfree86/loader/sdksyms.sh
index 6ca368ed5..3804324c7 100755
--- a/hw/xfree86/loader/sdksyms.sh
+++ b/hw/xfree86/loader/sdksyms.sh
@@ -19,7 +19,6 @@ cat > sdksyms.c << EOF
#include "mipict.h"
#include "glyphstr.h"
#include "picturestr.h"
-#include "renderedge.h"
/* fb/Makefile.am -- module */
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index b2daec72e..7fc2a60f7 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -2964,8 +2964,7 @@ xf86OutputSetEDID (xf86OutputPtr output, xf86MonPtr edid_mon)
int size;
#endif
- if (output->MonInfo != NULL)
- free(output->MonInfo);
+ free(output->MonInfo);
output->MonInfo = edid_mon;
diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index fdc38c5a6..57c3499ac 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -168,7 +168,7 @@ xf86CrtcDamageShadow (xf86CrtcPtr crtc)
if (damage_box.x2 > pScreen->width) damage_box.x2 = pScreen->width;
if (damage_box.y2 > pScreen->height) damage_box.y2 = pScreen->height;
RegionInit(&damage_region, &damage_box, 1);
- DamageRegionAppend (&(*pScreen->GetScreenPixmap)(pScreen)->drawable,
+ DamageDamageRegion (&(*pScreen->GetScreenPixmap)(pScreen)->drawable,
&damage_region);
RegionUninit(&damage_region);
crtc->shadowClear = TRUE;
diff --git a/hw/xfree86/os-support/hurd/hurd_mmap.c b/hw/xfree86/os-support/hurd/hurd_mmap.c
index ccef5f218..3f942aaca 100644
--- a/hw/xfree86/os-support/hurd/hurd_mmap.c
+++ b/hw/xfree86/os-support/hurd/hurd_mmap.c
@@ -39,8 +39,8 @@
int
xf86ReadBIOS(unsigned long Base,unsigned long Offset,unsigned char *Buf,int Len)
{
- mach_port_t device,iopl_dev;
- memory_object_t iopl_mem;
+ mach_port_t device,mem_dev;
+ memory_object_t mem_obj;
vm_address_t addr = (vm_address_t)0; /* serach starting address */
kern_return_t err;
@@ -51,14 +51,14 @@ xf86ReadBIOS(unsigned long Base,unsigned long Offset,unsigned char *Buf,int Len)
errno = err;
FatalError("xf86ReadBIOS() can't get_privileged_ports. (%s)\n",strerror(errno));
}
- err = device_open(device,D_READ|D_WRITE,"iopl",&iopl_dev);
+ err = device_open(device,D_READ|D_WRITE,"mem",&mem_dev);
mach_port_deallocate (mach_task_self (), device);
if( err )
{
errno = err;
FatalError("xf86ReadBIOS() can't device_open. (%s)\n",strerror(errno));
}
- err = device_map(iopl_dev,VM_PROT_READ|VM_PROT_WRITE, Base , BIOS_SIZE ,&iopl_mem,0);
+ err = device_map(mem_dev,VM_PROT_READ|VM_PROT_WRITE, Base , BIOS_SIZE ,&mem_obj,0);
if( err )
{
errno = err;
@@ -69,13 +69,13 @@ xf86ReadBIOS(unsigned long Base,unsigned long Offset,unsigned char *Buf,int Len)
BIOS_SIZE,
0,
TRUE,
- iopl_mem,
+ mem_obj,
Base,
FALSE,
VM_PROT_READ|VM_PROT_WRITE,
VM_PROT_READ|VM_PROT_WRITE,
VM_INHERIT_SHARE);
- mach_port_deallocate(mach_task_self(),iopl_mem);
+ mach_port_deallocate(mach_task_self(),mem_obj);
if( err )
{
errno = err;
diff --git a/hw/xfree86/os-support/hurd/hurd_video.c b/hw/xfree86/os-support/hurd/hurd_video.c
index 4a99db375..39f353bd3 100644
--- a/hw/xfree86/os-support/hurd/hurd_video.c
+++ b/hw/xfree86/os-support/hurd/hurd_video.c
@@ -44,8 +44,8 @@
static pointer
mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int Flags)
{
- mach_port_t device,iopl_dev;
- memory_object_t iopl_mem;
+ mach_port_t device,mem_dev;
+ memory_object_t mem_obj;
kern_return_t err;
vm_address_t addr=(vm_address_t)0;
@@ -55,7 +55,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int Flags)
errno = err;
FatalError("xf86MapVidMem() can't get_privileged_ports. (%s)\n",strerror(errno));
}
- err = device_open(device,D_READ|D_WRITE,"iopl",&iopl_dev);
+ err = device_open(device,D_READ|D_WRITE,"mem",&mem_dev);
mach_port_deallocate (mach_task_self(), device);
if( err )
{
@@ -63,7 +63,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int Flags)
FatalError("xf86MapVidMem() can't device_open. (%s)\n",strerror(errno));
}
- err = device_map(iopl_dev,VM_PROT_READ|VM_PROT_WRITE, Base , Size ,&iopl_mem,0);
+ err = device_map(mem_dev,VM_PROT_READ|VM_PROT_WRITE, Base , Size ,&mem_obj,0);
if( err )
{
errno = err;
@@ -74,23 +74,23 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int Flags)
Size,
0, /* mask */
TRUE, /* anywhere */
- iopl_mem,
+ mem_obj,
(vm_offset_t)Base,
FALSE, /* copy on write */
VM_PROT_READ|VM_PROT_WRITE,
VM_PROT_READ|VM_PROT_WRITE,
VM_INHERIT_SHARE);
- mach_port_deallocate(mach_task_self(),iopl_mem);
+ mach_port_deallocate(mach_task_self(),mem_obj);
if( err )
{
errno = err;
- FatalError("xf86MapVidMem() can't vm_map.(iopl_mem) (%s)\n",strerror(errno));
+ FatalError("xf86MapVidMem() can't vm_map.(mem_obj) (%s)\n",strerror(errno));
}
- mach_port_deallocate(mach_task_self(),iopl_dev);
+ mach_port_deallocate(mach_task_self(),mem_dev);
if( err )
{
errno = err;
- FatalError("xf86MapVidMem() can't mach_port_deallocate.(iopl_dev) (%s)\n",strerror(errno));
+ FatalError("xf86MapVidMem() can't mach_port_deallocate.(mem_dev) (%s)\n",strerror(errno));
}
return (pointer)addr;
}
@@ -124,8 +124,17 @@ xf86EnableIO()
FatalError("xf86EnableIO: ioperm() failed (%s)\n", strerror(errno));
return FALSE;
}
+#if 0
+ /*
+ * Trapping disabled for now, as some VBIOSes (mga-g450 notably) use these
+ * ports, and the int10 wrapper is not emulating them. (Note that it's
+ * effectively what happens in the Linux variant too, as iopl() is used
+ * there, making the ioperm() meaningless.)
+ *
+ * Reenable this when int10 gets fixed. */
ioperm(0x40,4,0); /* trap access to the timer chip */
ioperm(0x60,4,0); /* trap access to the keyboard controller */
+#endif
return TRUE;
}
diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c
index b97757c9b..39c728d9e 100644
--- a/hw/xfree86/os-support/linux/lnx_video.c
+++ b/hw/xfree86/os-support/linux/lnx_video.c
@@ -530,6 +530,8 @@ xf86EnableIO(void)
return FALSE;
}
# if !defined(__alpha__)
+ /* XXX: this is actually not trapping anything because of iopl(3)
+ * above */
ioperm(0x40,4,0); /* trap access to the timer chip */
ioperm(0x60,4,0); /* trap access to the keyboard controller */
# endif
diff --git a/hw/xfree86/os-support/shared/sigio.c b/hw/xfree86/os-support/shared/sigio.c
index aed5654e8..274a8ab7e 100644
--- a/hw/xfree86/os-support/shared/sigio.c
+++ b/hw/xfree86/os-support/shared/sigio.c
@@ -1,4 +1,3 @@
-
/* sigio.c -- Support for SIGIO handler installation and removal
* Created: Thu Jun 3 15:39:18 1999 by faith@precisioninsight.com
*
@@ -67,14 +66,6 @@
# include <stropts.h>
#endif
-/*
- * Linux libc5 defines FASYNC, but not O_ASYNC. Don't know if it is
- * functional or not.
- */
-#if defined(FASYNC) && !defined(O_ASYNC)
-# define O_ASYNC FASYNC
-#endif
-
#ifdef MAXDEVICES
/* MAXDEVICES represents the maximimum number of input devices usable
* at the same time plus one entry for DRM support.
diff --git a/hw/xfree86/parser/DRI.c b/hw/xfree86/parser/DRI.c
index 12b8d1d1a..f51f6b989 100644
--- a/hw/xfree86/parser/DRI.c
+++ b/hw/xfree86/parser/DRI.c
@@ -41,58 +41,10 @@ static xf86ConfigSymTabRec DRITab[] =
{
{ENDSECTION, "endsection"},
{GROUP, "group"},
- {BUFFERS, "buffers"},
{MODE, "mode"},
{-1, ""},
};
-#define CLEANUP xf86freeBuffersList
-
-static void
-xf86freeBuffersList (XF86ConfBuffersPtr ptr)
-{
- XF86ConfBuffersPtr prev;
-
- while (ptr) {
- TestFree (ptr->buf_flags);
- TestFree (ptr->buf_comment);
- prev = ptr;
- ptr = ptr->list.next;
- free (prev);
- }
-}
-
-static XF86ConfBuffersPtr
-xf86parseBuffers (void)
-{
- int token;
- parsePrologue (XF86ConfBuffersPtr, XF86ConfBuffersRec)
-
- if (xf86getSubToken (&(ptr->buf_comment)) != NUMBER)
- Error ("Buffers count expected", NULL);
- ptr->buf_count = val.num;
-
- if (xf86getSubToken (&(ptr->buf_comment)) != NUMBER)
- Error ("Buffers size expected", NULL);
- ptr->buf_size = val.num;
-
- if ((token = xf86getSubToken (&(ptr->buf_comment))) == STRING) {
- ptr->buf_flags = val.str;
- if ((token = xf86getToken (NULL)) == COMMENT)
- ptr->buf_comment = xf86addComment(ptr->buf_comment, val.str);
- else
- xf86unGetToken(token);
- }
-
-#ifdef DEBUG
- printf ("Buffers parsed\n");
-#endif
-
- return ptr;
-}
-
-#undef CLEANUP
-
#define CLEANUP xf86freeDRI
XF86ConfDRIPtr
@@ -121,10 +73,6 @@ xf86parseDRISection (void)
Error (MUST_BE_OCTAL_MSG, val.num);
ptr->dri_mode = val.num;
break;
- case BUFFERS:
- HANDLE_LIST (dri_buffers_lst, xf86parseBuffers,
- XF86ConfBuffersPtr);
- break;
case EOF_TOKEN:
Error (UNEXPECTED_EOF_MSG, NULL);
break;
@@ -149,8 +97,6 @@ xf86parseDRISection (void)
void
xf86printDRISection (FILE * cf, XF86ConfDRIPtr ptr)
{
- XF86ConfBuffersPtr bufs;
-
if (ptr == NULL)
return;
@@ -163,15 +109,6 @@ xf86printDRISection (FILE * cf, XF86ConfDRIPtr ptr)
fprintf (cf, "\tGroup %d\n", ptr->dri_group);
if (ptr->dri_mode)
fprintf (cf, "\tMode 0%o\n", ptr->dri_mode);
- for (bufs = ptr->dri_buffers_lst; bufs; bufs = bufs->list.next) {
- fprintf (cf, "\tBuffers %d %d",
- bufs->buf_count, bufs->buf_size);
- if (bufs->buf_flags) fprintf (cf, " \"%s\"", bufs->buf_flags);
- if (bufs->buf_comment)
- fprintf(cf, "%s", bufs->buf_comment);
- else
- fprintf (cf, "\n");
- }
fprintf (cf, "EndSection\n\n");
}
@@ -181,7 +118,6 @@ xf86freeDRI (XF86ConfDRIPtr ptr)
if (ptr == NULL)
return;
- xf86freeBuffersList (ptr->dri_buffers_lst);
TestFree (ptr->dri_comment);
free (ptr);
}
diff --git a/hw/xfree86/parser/scan.c b/hw/xfree86/parser/scan.c
index e609bdfd5..e4fce309f 100644
--- a/hw/xfree86/parser/scan.c
+++ b/hw/xfree86/parser/scan.c
@@ -115,53 +115,6 @@ static int pushToken = LOCK_TOKEN;
static int eol_seen = 0; /* private state to handle comments */
LexRec val;
-/*
- * xf86strToUL --
- *
- * A portable, but restricted, version of strtoul(). It only understands
- * hex, octal, and decimal. But it's good enough for our needs.
- */
-static unsigned int
-xf86strToUL (char *str)
-{
- int base = 10;
- char *p = str;
- unsigned int tot = 0;
-
- if (*p == '0')
- {
- p++;
- if ((*p == 'x') || (*p == 'X'))
- {
- p++;
- base = 16;
- }
- else
- base = 8;
- }
- while (*p)
- {
- if ((*p >= '0') && (*p <= ((base == 8) ? '7' : '9')))
- {
- tot = tot * base + (*p - '0');
- }
- else if ((base == 16) && (*p >= 'a') && (*p <= 'f'))
- {
- tot = tot * base + 10 + (*p - 'a');
- }
- else if ((base == 16) && (*p >= 'A') && (*p <= 'F'))
- {
- tot = tot * base + 10 + (*p - 'A');
- }
- else
- {
- return tot;
- }
- p++;
- }
- return tot;
-}
-
/*
* xf86getNextLine --
*
@@ -434,7 +387,7 @@ again:
configRBuf[i++] = c;
configPos--; /* GJA -- one too far */
configRBuf[i] = '\0';
- val.num = xf86strToUL (configRBuf);
+ val.num = strtoul (configRBuf, NULL, 0);
val.realnum = atof (configRBuf);
return NUMBER;
}
@@ -601,7 +554,6 @@ xf86pathIsSafe(const char *path)
* %P projroot
* %C sysconfdir
* %D datadir
- * %M config file format version number
* %% %
*/
@@ -626,11 +578,6 @@ xf86pathIsSafe(const char *path)
#ifndef XCONFENV
#define XCONFENV "XORGCONFIG"
#endif
-/* xorg.conf is based on XF86Config version 4. If we ever break
- compatibility of the xorg.conf syntax, we'll bump this version number. */
-#ifndef CONFIG_FILE_VERSION
-#define CONFIG_FILE_VERSION 4
-#endif
#define BAIL_OUT do { \
free(result); \
@@ -661,7 +608,6 @@ DoSubstitution(const char *template, const char *cmdline, const char *projroot,
int i, l;
static const char *env = NULL;
static char *hostname = NULL;
- static char majorvers[3] = "";
if (!template)
return NULL;
@@ -762,13 +708,6 @@ DoSubstitution(const char *template, const char *cmdline, const char *projroot,
case 'D':
APPEND_STR(DATADIR);
break;
- case 'M':
- if (!majorvers[0]) {
- snprintf(majorvers, sizeof(majorvers),
- "%d", CONFIG_FILE_VERSION);
- }
- APPEND_STR(majorvers);
- break;
case '%':
result[l++] = '%';
CHECK_LENGTH;
diff --git a/hw/xfree86/parser/xf86Parser.h b/hw/xfree86/parser/xf86Parser.h
index 337ad0718..9f0a602ed 100644
--- a/hw/xfree86/parser/xf86Parser.h
+++ b/hw/xfree86/parser/xf86Parser.h
@@ -442,20 +442,9 @@ XF86ConfVendorRec, *XF86ConfVendorPtr;
typedef struct
{
- GenericListRec list;
- int buf_count;
- int buf_size;
- char *buf_flags;
- char *buf_comment;
-}
-XF86ConfBuffersRec, *XF86ConfBuffersPtr;
-
-typedef struct
-{
char *dri_group_name;
int dri_group;
int dri_mode;
- XF86ConfBuffersPtr dri_buffers_lst;
char *dri_comment;
}
XF86ConfDRIRec, *XF86ConfDRIPtr;
diff --git a/hw/xfree86/parser/xf86tokens.h b/hw/xfree86/parser/xf86tokens.h
index c16a8f551..ec04e4c7d 100644
--- a/hw/xfree86/parser/xf86tokens.h
+++ b/hw/xfree86/parser/xf86tokens.h
@@ -273,7 +273,6 @@ typedef enum {
/* DRI Tokens */
GROUP,
- BUFFERS,
/* InputClass Tokens */
MATCH_PRODUCT,
diff --git a/hw/xfree86/x86emu/ops.c b/hw/xfree86/x86emu/ops.c
index 21a034712..c6b2f0a4b 100644
--- a/hw/xfree86/x86emu/ops.c
+++ b/hw/xfree86/x86emu/ops.c
@@ -9691,15 +9691,23 @@ Handles opcode 0xe9
****************************************************************************/
static void x86emuOp_jump_near_IMM(u8 X86EMU_UNUSED(op1))
{
- int ip;
+ u32 ip;
START_OF_INSTR();
DECODE_PRINTF("JMP\t");
- ip = (s16)fetch_word_imm();
- ip += (s16)M.x86.R_IP;
- DECODE_PRINTF2("%04x\n", (u16)ip);
- TRACE_AND_STEP();
- M.x86.R_IP = (u16)ip;
+ if (M.x86.mode & SYSMODE_PREFIX_DATA) {
+ ip = (u32)fetch_long_imm();
+ ip += (u32)M.x86.R_EIP;
+ DECODE_PRINTF2("%08x\n", (u32)ip);
+ TRACE_AND_STEP();
+ M.x86.R_EIP = (u32)ip;
+ } else {
+ ip = (s16)fetch_word_imm();
+ ip += (s16)M.x86.R_IP;
+ DECODE_PRINTF2("%04x\n", (u16)ip);
+ TRACE_AND_STEP();
+ M.x86.R_IP = (u16)ip;
+ }
DECODE_CLEAR_SEGOVR();
END_OF_INSTR();
}
diff --git a/hw/xwin/InitInput.c b/hw/xwin/InitInput.c
index cec4df79f..70578b16c 100644
--- a/hw/xwin/InitInput.c
+++ b/hw/xwin/InitInput.c
@@ -52,21 +52,6 @@ int winProcSetSelectionOwner(ClientPtr /* client */);
DeviceIntPtr g_pwinPointer;
DeviceIntPtr g_pwinKeyboard;
-
-/*
- * References to external symbols
- */
-
-#ifdef HAS_DEVWINDOWS
-extern int g_fdMessageQueue;
-#endif
-extern Bool g_fXdmcpEnabled;
-#ifdef XWIN_CLIPBOARD
-extern winDispatchProcPtr winProcEstablishConnectionOrig;
-extern winDispatchProcPtr winProcQueryTreeOrig;
-#endif
-
-
/* Called from dix/devices.c */
/*
* All of our keys generate up and down transition notifications,
diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c
index 73cc263bd..38a658d77 100644
--- a/hw/xwin/InitOutput.c
+++ b/hw/xwin/InitOutput.c
@@ -58,29 +58,9 @@ typedef HRESULT (*SHGETFOLDERPATHPROC)(
);
#endif
-
/*
* References to external symbols
*/
-
-extern int g_iNumScreens;
-extern winScreenInfo * g_ScreenInfo;
-extern char * g_pszCommandLine;
-extern Bool g_fSilentFatalError;
-
-extern const char * g_pszLogFile;
-extern Bool g_fLogFileChanged;
-extern int g_iLogVerbose;
-Bool g_fLogInited;
-
-extern Bool g_fXdmcpEnabled;
-extern Bool g_fAuthEnabled;
-#ifdef HAS_DEVWINDOWS
-extern int g_fdMessageQueue;
-#endif
-extern const char * g_pszQueryHost;
-extern HINSTANCE g_hInstance;
-
#ifdef XWIN_CLIPBOARD
extern Bool g_fUnicodeClipboard;
extern Bool g_fClipboardLaunched;
@@ -90,15 +70,11 @@ extern HWND g_hwndClipboard;
extern Bool g_fClipboard;
#endif
-extern HMODULE g_hmodDirectDraw;
-extern FARPROC g_fpDirectDrawCreate;
-extern FARPROC g_fpDirectDrawCreateClipper;
-
-extern HMODULE g_hmodCommonControls;
-extern FARPROC g_fpTrackMouseEvent;
-extern Bool g_fNoHelpMessageBox;
-extern Bool g_fSilentDupError;
-extern Bool g_fNativeGl;
+
+/*
+ module handle for dynamically loaded comctl32 library
+*/
+static HMODULE g_hmodCommonControls = NULL;
/*
* Function prototypes
@@ -258,15 +234,9 @@ ddxGiveUp (void)
* At this point we aren't creating any new screens, so
* we are guaranteed to not need the DirectDraw functions.
*/
- if (g_hmodDirectDraw != NULL)
- {
- FreeLibrary (g_hmodDirectDraw);
- g_hmodDirectDraw = NULL;
- g_fpDirectDrawCreate = NULL;
- g_fpDirectDrawCreateClipper = NULL;
- }
+ winReleaseDDProcAddresses();
- /* Unload our TrackMouseEvent funtion pointer */
+ /* Unload our TrackMouseEvent function pointer */
if (g_hmodCommonControls != NULL)
{
FreeLibrary (g_hmodCommonControls);
@@ -437,7 +407,7 @@ winFixupPaths (void)
int needs_sep = TRUE;
int comment_block = FALSE;
- /* get defautl fontpath */
+ /* get default fontpath */
char *fontpath = strdup(defaultFontPath);
size_t size = strlen(fontpath);
@@ -873,7 +843,7 @@ winUseMsg (void)
ErrorF ("-silent-dup-error\n"
"\tIf another instance of " EXECUTABLE_NAME " with the same display number is running\n"
- "\texit silently and don’t display any error message.\n");
+ "\texit silently and don't display any error message.\n");
ErrorF ("-swcursor\n"
"\tDisable the usage of the Windows cursor and use the X11 software\n"
diff --git a/hw/xwin/Makefile.am b/hw/xwin/Makefile.am
index 03cb80824..232d65e86 100644
--- a/hw/xwin/Makefile.am
+++ b/hw/xwin/Makefile.am
@@ -162,8 +162,8 @@ AM_YFLAGS = -d
AM_LFLAGS = -i
AM_CFLAGS = -DHAVE_XWIN_CONFIG_H $(DIX_CFLAGS) \
$(XWINMODULES_CFLAGS) \
- -DXFree86Server \
- -I$(top_srcdir)
+ -I$(top_srcdir) \
+ -Wno-bad-function-cast
MAN_SRCS = XWin.man.pre XWinrc.man.pre
diff --git a/hw/xwin/XWin.man.pre b/hw/xwin/XWin.man.pre
index 6b28b51d4..51268f69a 100644
--- a/hw/xwin/XWin.man.pre
+++ b/hw/xwin/XWin.man.pre
@@ -251,7 +251,7 @@ exit silently and don't display any error message.
.B "\-xkbrules \fIrule\fP"
.TP 8
.B "\-xkbvariant \fIvariant\fp"
-These options implement the xkeyboard extension for loading
+These options configure the xkeyboard extension to load
a particular keyboard map as the X server starts. The behavior is similar
to the \fIsetxkbmap\fP program. The layout data is located at \fI
__datadir__/X11/xkb/\fP. Additional information is found in the
@@ -264,9 +264,9 @@ the options:
Alternatively one may use the \fIsetxkbmap\fP program after \fIXWin\fP is
running.
-The default is to select a layout matching your current layout as
-reported by \fIWindows\fP if known, or the default X server layout
-if no matching keyboard layout was found.
+The default is to select a configuration matching your current layout as
+reported by \fIWindows\fP, if known, or the default X server configuration
+if no matching keyboard configuration was found.
.SH UNDOCUMENTED OPTIONS
These options are undocumented. Do not use them.
diff --git a/hw/xwin/XWinrc.man.pre b/hw/xwin/XWinrc.man.pre
index 5c1fb979b..5c1fb979b 100755..100644
--- a/hw/xwin/XWinrc.man.pre
+++ b/hw/xwin/XWinrc.man.pre
diff --git a/hw/xwin/glx/glwrap.c b/hw/xwin/glx/glwrap.c
index 5190d36f7..5190d36f7 100755..100644
--- a/hw/xwin/glx/glwrap.c
+++ b/hw/xwin/glx/glwrap.c
diff --git a/hw/xwin/glx/indirect.c b/hw/xwin/glx/indirect.c
index 38918859a..5d7391d4c 100755..100644
--- a/hw/xwin/glx/indirect.c
+++ b/hw/xwin/glx/indirect.c
@@ -682,10 +682,7 @@ glxWinScreenProbe(ScreenPtr pScreen)
unsigned int buffer_size = __glXGetExtensionString(screen->glx_enable_bits, NULL);
if (buffer_size > 0)
{
- if (screen->base.GLXextensions != NULL)
- {
- free(screen->base.GLXextensions);
- }
+ free(screen->base.GLXextensions);
screen->base.GLXextensions = xnfalloc(buffer_size);
__glXGetExtensionString(screen->glx_enable_bits, screen->base.GLXextensions);
diff --git a/hw/xwin/win.h b/hw/xwin/win.h
index 1b1358cda..f22a2d576 100644
--- a/hw/xwin/win.h
+++ b/hw/xwin/win.h
@@ -314,9 +314,6 @@ typedef Bool (*winFinishCreateWindowsWindowProcPtr)(WindowPtr pWin);
typedef Bool (*winCreateScreenResourcesProc)(ScreenPtr);
-/* Typedef for DIX wrapper functions */
-typedef int (*winDispatchProcPtr) (ClientPtr);
-
/*
* GC (graphics context) privates
@@ -622,6 +619,8 @@ typedef struct {
* Extern declares for general global variables
*/
+#include "winglobals.h"
+
extern winScreenInfo * g_ScreenInfo;
extern miPointerScreenFuncRec g_winPointerCursorFuncs;
extern DWORD g_dwEvents;
@@ -648,16 +647,12 @@ extern const char * g_pszQueryHost;
extern DeviceIntPtr g_pwinPointer;
extern DeviceIntPtr g_pwinKeyboard;
-
/*
- * Extern declares for dynamically loaded libraries and function pointers
+ * Extern declares for dynamically loaded library function pointers
*/
-extern HMODULE g_hmodDirectDraw;
extern FARPROC g_fpDirectDrawCreate;
extern FARPROC g_fpDirectDrawCreateClipper;
-
-extern HMODULE g_hmodCommonControls;
extern FARPROC g_fpTrackMouseEvent;
@@ -859,6 +854,9 @@ winSetEngine (ScreenPtr pScreen);
Bool
winGetDDProcAddresses (void);
+void
+winReleaseDDProcAddresses(void);
+
/*
* winerror.c
diff --git a/hw/xwin/winblock.c b/hw/xwin/winblock.c
index abea60e0f..e165d5488 100644
--- a/hw/xwin/winblock.c
+++ b/hw/xwin/winblock.c
@@ -34,16 +34,6 @@
#include "win.h"
#include "winmsg.h"
-
-/*
- * References to external symbols
- */
-
-extern HWND g_hDlgDepthChange;
-extern HWND g_hDlgExit;
-extern HWND g_hDlgAbout;
-
-
/* See Porting Layer Definition - p. 6 */
void
winBlockHandler (int nScreen,
diff --git a/hw/xwin/winclipboardthread.c b/hw/xwin/winclipboardthread.c
index 5d2b9487e..e7df4527e 100644
--- a/hw/xwin/winclipboardthread.c
+++ b/hw/xwin/winclipboardthread.c
@@ -437,7 +437,7 @@ winClipboardErrorHandler (Display *pDisplay, XErrorEvent *pErr)
pszErrorMsg,
sizeof (pszErrorMsg));
ErrorF ("winClipboardErrorHandler - ERROR: \n\t%s\n"
- "\tSerial: %d, Request Code: %d, Minor Code: %d\n",
+ "\tSerial: %lu, Request Code: %d, Minor Code: %d\n",
pszErrorMsg,
pErr->serial,
pErr->request_code,
diff --git a/hw/xwin/winclipboardwrappers.c b/hw/xwin/winclipboardwrappers.c
index bdacefba5..bdacefba5 100755..100644
--- a/hw/xwin/winclipboardwrappers.c
+++ b/hw/xwin/winclipboardwrappers.c
diff --git a/hw/xwin/winclipboardxevents.c b/hw/xwin/winclipboardxevents.c
index edb6ac4bd..2f042fd0b 100644
--- a/hw/xwin/winclipboardxevents.c
+++ b/hw/xwin/winclipboardxevents.c
@@ -76,7 +76,7 @@ winClipboardFlushXEvents (HWND hwnd,
XEvent event;
XSelectionEvent eventSelection;
unsigned long ulReturnBytesLeft;
- unsigned char *pszReturnData = NULL;
+ char *pszReturnData = NULL;
char *pszGlobalData = NULL;
int iReturn;
HGLOBAL hGlobal = NULL;
@@ -221,7 +221,7 @@ winClipboardFlushXEvents (HWND hwnd,
if (!OpenClipboard (hwnd))
{
ErrorF ("winClipboardFlushXEvents - SelectionRequest - "
- "OpenClipboard () failed: %08x\n",
+ "OpenClipboard () failed: %08lx\n",
GetLastError ());
/* Abort */
@@ -262,7 +262,7 @@ winClipboardFlushXEvents (HWND hwnd,
if (!hGlobal)
{
ErrorF ("winClipboardFlushXEvents - SelectionRequest - "
- "GetClipboardData () failed: %08x\n",
+ "GetClipboardData () failed: %08lx\n",
GetLastError ());
/* Abort */
diff --git a/hw/xwin/wincmap.c b/hw/xwin/wincmap.c
index 9da03888d..d526a9201 100644
--- a/hw/xwin/wincmap.c
+++ b/hw/xwin/wincmap.c
@@ -516,11 +516,8 @@ winGetPaletteDD (ScreenPtr pScreen, ColormapPtr pcmap)
pScreen->blackPixel = 0;
/* Free colormap */
- if (ppeColors != NULL)
- {
- free (ppeColors);
- ppeColors = NULL;
- }
+ free(ppeColors);
+ ppeColors = NULL;
/* Free the DC */
if (hdc != NULL)
diff --git a/hw/xwin/winconfig.c b/hw/xwin/winconfig.c
index a88b6f1cf..758c54d89 100644
--- a/hw/xwin/winconfig.c
+++ b/hw/xwin/winconfig.c
@@ -712,8 +712,8 @@ winNameCompare (const char *s1, const char *s2)
while (*s2 == '_' || *s2 == ' ' || *s2 == '\t')
s2++;
- c1 = (isupper (*s1) ? tolower (*s1) : *s1);
- c2 = (isupper (*s2) ? tolower (*s2) : *s2);
+ c1 = (isupper ((int)*s1) ? tolower ((int)*s1) : *s1);
+ c2 = (isupper ((int)*s2) ? tolower ((int)*s2) : *s2);
while (c1 == c2)
{
@@ -727,8 +727,8 @@ winNameCompare (const char *s1, const char *s2)
while (*s2 == '_' || *s2 == ' ' || *s2 == '\t')
s2++;
- c1 = (isupper (*s1) ? tolower (*s1) : *s1);
- c2 = (isupper (*s2) ? tolower (*s2) : *s2);
+ c1 = (isupper ((int)*s1) ? tolower ((int)*s1) : *s1);
+ c2 = (isupper ((int)*s2) ? tolower ((int)*s2) : *s2);
}
return c1 - c2;
}
@@ -1089,8 +1089,8 @@ winNormalizeName (const char *s)
case '\t':
continue;
default:
- if (isupper (*p))
- *q++ = tolower (*p);
+ if (isupper ((int)*p))
+ *q++ = tolower ((int)*p);
else
*q++ = *p;
}
diff --git a/hw/xwin/wincursor.c b/hw/xwin/wincursor.c
index 7f1935a5d..0ed1d1349 100644
--- a/hw/xwin/wincursor.c
+++ b/hw/xwin/wincursor.c
@@ -41,8 +41,6 @@
#include <servermd.h>
#include "misc.h"
-extern Bool g_fSoftwareCursor;
-
#define BRIGHTNESS(x) (x##Red * 0.299 + x##Green * 0.587 + x##Blue * 0.114)
#if 0
@@ -557,7 +555,7 @@ static void
winDeviceCursorCleanup(DeviceIntPtr pDev, ScreenPtr pScr)
{
winScreenPriv(pScr);
- return pScreenPriv->cursor.spriteFuncs->DeviceCursorCleanup(pDev, pScr);
+ pScreenPriv->cursor.spriteFuncs->DeviceCursorCleanup(pDev, pScr);
}
static miPointerSpriteFuncRec winSpriteFuncsRec = {
diff --git a/hw/xwin/windialogs.c b/hw/xwin/windialogs.c
index 3ec9b78ff..22d8cd7f7 100755..100644
--- a/hw/xwin/windialogs.c
+++ b/hw/xwin/windialogs.c
@@ -44,21 +44,9 @@
* References to external globals
*/
-extern Bool g_fCursor;
-extern HWND g_hDlgDepthChange;
-extern HWND g_hDlgExit;
-extern HWND g_hDlgAbout;
-extern WINPREFS pref;
#ifdef XWIN_CLIPBOARD
extern Bool g_fClipboardStarted;
#endif
-extern Bool g_fSoftwareCursor;
-
-#if defined(XWIN_MULTIWINDOW)
-extern HICON g_hIconX;
-extern HICON g_hSmallIconX;
-#endif
-
/*
* Local function prototypes
*/
@@ -324,7 +312,7 @@ winDisplayExitDialog (winPrivScreenPtr pScreenPriv)
/* Set focus to the Cancel button */
PostMessage (g_hDlgExit, WM_NEXTDLGCTL,
- GetDlgItem (g_hDlgExit, IDCANCEL), TRUE);
+ (WPARAM)GetDlgItem (g_hDlgExit, IDCANCEL), TRUE);
}
#define CONNECTED_CLIENTS_FORMAT "There %s currently %d client%s connected."
@@ -594,7 +582,7 @@ winDisplayAboutDialog (winPrivScreenPtr pScreenPriv)
/* Set focus to the OK button */
PostMessage (g_hDlgAbout, WM_NEXTDLGCTL,
- GetDlgItem (g_hDlgAbout, IDOK), TRUE);
+ (WPARAM)GetDlgItem (g_hDlgAbout, IDOK), TRUE);
}
@@ -675,7 +663,7 @@ winAboutDlgProc (HWND hwndDialog, UINT message,
case ID_ABOUT_CHANGELOG:
{
- HINSTANCE iReturn;
+ int iReturn;
#ifdef __CYGWIN__
const char * pszCygPath = "/usr/X11R6/share/doc/"
"xorg-x11-xwin/changelog.html";
@@ -688,7 +676,7 @@ winAboutDlgProc (HWND hwndDialog, UINT message,
"devel/server/changelog.html";
#endif
- iReturn = ShellExecute (NULL,
+ iReturn = (int)ShellExecute (NULL,
"open",
pszWinPath,
NULL,
@@ -708,7 +696,7 @@ winAboutDlgProc (HWND hwndDialog, UINT message,
const char * pszPath = __VENDORDWEBSUPPORT__;
int iReturn;
- iReturn = ShellExecute (NULL,
+ iReturn = (int)ShellExecute (NULL,
"open",
pszPath,
NULL,
@@ -728,7 +716,7 @@ winAboutDlgProc (HWND hwndDialog, UINT message,
const char * pszPath = "http://x.cygwin.com/docs/ug/";
int iReturn;
- iReturn = ShellExecute (NULL,
+ iReturn = (int)ShellExecute (NULL,
"open",
pszPath,
NULL,
@@ -748,7 +736,7 @@ winAboutDlgProc (HWND hwndDialog, UINT message,
const char * pszPath = "http://x.cygwin.com/docs/faq/";
int iReturn;
- iReturn = ShellExecute (NULL,
+ iReturn = (int)ShellExecute (NULL,
"open",
pszPath,
NULL,
diff --git a/hw/xwin/winengine.c b/hw/xwin/winengine.c
index fb9aed8a0..e866e1ea1 100644
--- a/hw/xwin/winengine.c
+++ b/hw/xwin/winengine.c
@@ -34,13 +34,17 @@
#include "win.h"
#include "winmsg.h"
-
/*
- * External global variables
+ * Global variables for function pointers into
+ * dynamically loaded libraries
*/
+FARPROC g_fpDirectDrawCreate = NULL;
+FARPROC g_fpDirectDrawCreateClipper = NULL;
-extern const GUID _IID_IDirectDraw4;
-
+/*
+ module handle for dynamically loaded directdraw library
+*/
+static HMODULE g_hmodDirectDraw = NULL;
/*
* Detect engines supported by current Windows version
@@ -334,3 +338,15 @@ winGetDDProcAddresses (void)
return fReturn;
}
+
+void
+winReleaseDDProcAddresses(void)
+{
+ if (g_hmodDirectDraw != NULL)
+ {
+ FreeLibrary (g_hmodDirectDraw);
+ g_hmodDirectDraw = NULL;
+ g_fpDirectDrawCreate = NULL;
+ g_fpDirectDrawCreateClipper = NULL;
+ }
+}
diff --git a/hw/xwin/winerror.c b/hw/xwin/winerror.c
index cb69c57c2..aadfd2858 100644
--- a/hw/xwin/winerror.c
+++ b/hw/xwin/winerror.c
@@ -31,21 +31,10 @@
#ifdef HAVE_XWIN_CONFIG_H
#include <xwin-config.h>
#endif
-#ifdef XVENDORNAME
-#define VENDOR_STRING XVENDORNAME
-#define VENDOR_CONTACT BUILDERADDR
-#endif
#include <../xfree86/common/xorgVersion.h>
#include "win.h"
-/* References to external symbols */
-extern char * g_pszCommandLine;
-extern const char * g_pszLogFile;
-extern Bool g_fSilentFatalError;
-extern Bool g_fLogInited;
-
-
#ifdef DDXOSVERRORF
/* Prototype */
void
@@ -129,11 +118,12 @@ winMessageBoxF (const char *pszError, UINT uType, ...)
"%s\n"
pszMsgBox = Xprintf (MESSAGEBOXF,
- pszErrorF, VENDOR_STRING,
+ pszErrorF, XVENDORNAME,
XORG_VERSION_MAJOR, XORG_VERSION_MINOR, XORG_VERSION_PATCH, XORG_VERSION_SNAP, XORG_VERSION_CURRENT,
- VENDOR_CONTACT,
+ BUILDERADDR,
BUILDERSTRING,
- g_pszCommandLine);
+ g_pszCommandLine);
+
if (!pszMsgBox)
goto winMessageBoxF_Cleanup;
diff --git a/hw/xwin/winglobals.c b/hw/xwin/winglobals.c
index f3f01d7da..2909f371b 100644
--- a/hw/xwin/winglobals.c
+++ b/hw/xwin/winglobals.c
@@ -73,8 +73,6 @@ char * g_pszCommandLine = NULL;
Bool g_fSilentFatalError = FALSE;
DWORD g_dwCurrentThreadID = 0;
Bool g_fKeyboardHookLL = FALSE;
-HHOOK g_hhookKeyboardLL = NULL;
-HWND g_hwndKeyboardFocus = NULL;
Bool g_fNoHelpMessageBox = FALSE;
Bool g_fSoftwareCursor = FALSE;
Bool g_fSilentDupError = FALSE;
@@ -85,11 +83,6 @@ Bool g_fNativeGl = FALSE;
* their function pointers
*/
-HMODULE g_hmodDirectDraw = NULL;
-FARPROC g_fpDirectDrawCreate = NULL;
-FARPROC g_fpDirectDrawCreateClipper = NULL;
-
-HMODULE g_hmodCommonControls = NULL;
FARPROC g_fpTrackMouseEvent = (FARPROC) (void (*)(void))NoopDDA;
@@ -127,7 +120,6 @@ void
winInitializeGlobals (void)
{
g_dwCurrentThreadID = GetCurrentThreadId ();
- g_hwndKeyboardFocus = NULL;
#ifdef XWIN_CLIPBOARD
g_fClipboardLaunched = FALSE;
g_fClipboardStarted = FALSE;
diff --git a/hw/xwin/winglobals.h b/hw/xwin/winglobals.h
new file mode 100644
index 000000000..89926796c
--- /dev/null
+++ b/hw/xwin/winglobals.h
@@ -0,0 +1,88 @@
+/*
+ File: winglobals.h
+ Purpose: declarations for global variables
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the next
+ paragraph) shall be included in all copies or substantial portions of the
+ Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+*/
+
+#ifndef WINGLOBALS_H
+#define WINGLOBALS_H
+
+/*
+ * References to external symbols
+ */
+
+extern int g_iNumScreens;
+extern int g_iLastScreen;
+extern char * g_pszCommandLine;
+extern Bool g_fSilentFatalError;
+extern const char * g_pszLogFile;
+#ifdef RELOCATE_PROJECTROOT
+extern Bool g_fLogFileChanged;
+#endif
+extern int g_iLogVerbose;
+extern Bool g_fLogInited;
+
+extern Bool g_fAuthEnabled;
+extern Bool g_fXdmcpEnabled;
+
+extern Bool g_fNoHelpMessageBox;
+extern Bool g_fSilentDupError;
+extern Bool g_fNativeGl;
+
+extern HWND g_hDlgDepthChange;
+extern HWND g_hDlgExit;
+extern HWND g_hDlgAbout;
+
+extern Bool g_fSoftwareCursor;
+extern Bool g_fCursor;
+
+#ifdef XWIN_CLIPBOARD
+
+/* Typedef for DIX wrapper functions */
+typedef int (*winDispatchProcPtr) (ClientPtr);
+
+/*
+ * Wrapped DIX functions
+ */
+extern winDispatchProcPtr winProcEstablishConnectionOrig;
+extern winDispatchProcPtr winProcQueryTreeOrig;
+extern winDispatchProcPtr winProcSetSelectionOwnerOrig;
+#endif
+
+/* The global X default icons */
+#if defined(XWIN_MULTIWINDOW)
+extern HICON g_hIconX;
+extern HICON g_hSmallIconX;
+#endif
+
+#ifdef XWIN_MULTIWINDOW
+extern DWORD g_dwCurrentThreadID;
+#endif
+
+extern Bool g_fKeyboardHookLL;
+extern Bool g_fButton[3];
+
+#ifdef XWIN_MULTIWINDOWEXTWM
+extern Bool g_fNoConfigureWindow;
+#endif
+
+#endif /* WINGLOBALS_H */
diff --git a/hw/xwin/winkeybd.c b/hw/xwin/winkeybd.c
index 6d91ce0d6..83fea21cd 100644
--- a/hw/xwin/winkeybd.c
+++ b/hw/xwin/winkeybd.c
@@ -486,7 +486,7 @@ winSendKeyEvent (DWORD dwKey, Bool fDown)
nevents = GetKeyboardEvents(events, g_pwinKeyboard, fDown ? KeyPress : KeyRelease, dwKey + MIN_KEYCODE);
for (i = 0; i < nevents; i++)
- mieqEnqueue(g_pwinKeyboard, events[i].event);
+ mieqEnqueue(g_pwinKeyboard, (InternalEvent*)events[i].event);
#if CYGDEBUG
ErrorF("winSendKeyEvent: dwKey: %d, fDown: %d, nEvents %d\n",
diff --git a/hw/xwin/winkeyhook.c b/hw/xwin/winkeyhook.c
index 2d6ed18b7..fe1156dcf 100755..100644
--- a/hw/xwin/winkeyhook.c
+++ b/hw/xwin/winkeyhook.c
@@ -34,13 +34,7 @@
#include "win.h"
-/*
- * References to external symbols
- */
-
-extern HHOOK g_hhookKeyboardLL;
-extern DWORD g_dwCurrentThreadID;
-extern HWND g_hwndKeyboardFocus;
+static HHOOK g_hhookKeyboardLL = NULL;
/*
diff --git a/hw/xwin/winlayouts.h b/hw/xwin/winlayouts.h
index d1d21a12d..9500689bc 100644
--- a/hw/xwin/winlayouts.h
+++ b/hw/xwin/winlayouts.h
@@ -42,232 +42,52 @@ typedef struct
This table is sorted by low byte of winlayout, then by next byte, etc.
*/
-WinKBLayoutRec winKBLayouts[] =
+WinKBLayoutRec winKBLayouts[] =
{
- { 0x404, -1, "pc105", "zh_TW", NULL, NULL, "Chinese (Taiwan)"},
- { 0x405, -1, "pc105", "cz", NULL, NULL, "Czech"},
- {0x10405, -1, "pc105", "cz_qwerty", NULL, NULL, "Czech (QWERTY)"},
- { 0x406, -1, "pc105", "dk", NULL, NULL, "Danish"},
- { 0x407, -1, "pc105", "de", NULL, NULL, "German (Germany)"},
- {0x10407, -1, "pc105", "de", NULL, NULL, "German (Germany, IBM)"},
- { 0x807, -1, "pc105", "ch", "de", NULL, "German (Switzerland)"},
- { 0x409, -1, "pc105", "us", NULL, NULL, "English (USA)"},
- {0x10409, -1, "pc105", "dvorak", NULL, NULL, "English (USA, Dvorak)"},
- {0x20409, -1, "pc105", "us_intl", NULL, NULL, "English (USA, International)"},
- { 0x809, -1, "pc105", "gb", NULL, NULL, "English (United Kingdom)"},
- { 0x1809, -1, "pc105", "ie", NULL, NULL, "Irish"},
- { 0x40a, -1, "pc105", "es", NULL, NULL, "Spanish (Spain, Traditional Sort)"},
- { 0x80a, -1, "pc105", "latam", NULL, NULL, "Latin American"},
- { 0x40b, -1, "pc105", "fi", NULL, NULL, "Finnish"},
- { 0x40c, -1, "pc105", "fr", NULL, NULL, "French (Standard)"},
- { 0x80c, -1, "pc105", "be", NULL, NULL, "French (Belgian)"},
- { 0xc0c, -1, "pc105", "ca", "fr", NULL, "French (Canada)"},
- { 0x100c, -1, "pc105", "ch", "fr", NULL, "French (Switzerland)"},
- { 0x40d, -1, "pc105", "il", NULL, NULL, "Hebrew"},
- { 0x40e, -1, "pc105", "hu", NULL, NULL, "Hungarian"},
- { 0x40f, -1, "pc105", "is", NULL, NULL, "Icelandic"},
- { 0x410, -1, "pc105", "it", NULL, NULL, "Italian"},
- {0x10410, -1, "pc105", "it", NULL, NULL, "Italian (142)"},
- {0xa0000410,-1, "macbook79","it", "mac",NULL, "Italiano (Apple)"},
- { 0x411, 7, "jp106", "jp", NULL, NULL, "Japanese"},
- { 0x413, -1, "pc105", "nl", NULL, NULL, "Dutch"},
- { 0x813, -1, "pc105", "be", NULL, NULL, "Dutch (Belgian)"},
- { 0x414, -1, "pc105", "no", NULL, NULL, "Norwegian"},
- { 0x415, -1, "pc105", "pl", NULL, NULL, "Polish (Programmers)"},
- { 0x416, -1, "pc105", "br", NULL, NULL, "Portuguese (Brazil, ABNT)"},
- {0x10416, -1, "abnt2", "br", NULL, NULL, "Portuguese (Brazil, ABNT2)"},
- { 0x816, -1, "pc105", "pt", NULL, NULL, "Portuguese (Portugal)"},
- { 0x41a, -1, "pc105", "hr", NULL, NULL, "Croatian"},
- { 0x41d, -1, "pc105", "se", NULL, NULL, "Swedish (Sweden)"},
- { 0x424, -1, "pc105", "si", NULL, NULL, "Slovenian"},
- { 0x425, -1, "pc105", "ee", NULL, NULL, "Estonian"},
- { 0x452, -1, "pc105", "gb", "intl", NULL, "United Kingdom (Extended)"},
- { -1, -1, NULL, NULL, NULL, NULL, NULL}
+ { 0x00000404, -1, "pc105", "zh_TW", NULL, NULL, "Chinese (Taiwan)"},
+ { 0x00000405, -1, "pc105", "cz", NULL, NULL, "Czech"},
+ { 0x00010405, -1, "pc105", "cz_qwerty", NULL, NULL, "Czech (QWERTY)"},
+ { 0x00000406, -1, "pc105", "dk", NULL, NULL, "Danish"},
+ { 0x00000407, -1, "pc105", "de", NULL, NULL, "German (Germany)"},
+ { 0x00010407, -1, "pc105", "de", NULL, NULL, "German (Germany,IBM)"},
+ { 0x00000807, -1, "pc105", "ch", "de", NULL, "German (Switzerland)"},
+ { 0x00000409, -1, "pc105", "us", NULL, NULL, "English (USA)"},
+ { 0x00010409, -1, "pc105", "dvorak", NULL, NULL, "English (USA,Dvorak)"},
+ { 0x00020409, -1, "pc105", "us_intl", NULL, NULL, "English (USA,International)"},
+ { 0x00000809, -1, "pc105", "gb", NULL, NULL, "English (United Kingdom)"},
+ { 0x00001809, -1, "pc105", "ie", NULL, NULL, "Irish"},
+ { 0x0000040a, -1, "pc105", "es", NULL, NULL, "Spanish (Spain,Traditional Sort)"},
+ { 0x0000080a, -1, "pc105", "latam", NULL, NULL, "Latin American"},
+ { 0x0000040b, -1, "pc105", "fi", NULL, NULL, "Finnish"},
+ { 0x0000040c, -1, "pc105", "fr", NULL, NULL, "French (Standard)"},
+ { 0x0000080c, -1, "pc105", "be", NULL, NULL, "French (Belgian)"},
+ { 0x00000c0c, -1, "pc105", "ca", "fr", NULL, "French (Canada)"},
+ { 0x0000100c, -1, "pc105", "ch", "fr", NULL, "French (Switzerland)"},
+ { 0x0000040d, -1, "pc105", "il", NULL, NULL, "Hebrew"},
+ { 0x0000040e, -1, "pc105", "hu", NULL, NULL, "Hungarian"},
+ { 0x0000040f, -1, "pc105", "is", NULL, NULL, "Icelandic"},
+ { 0x00000410, -1, "pc105", "it", NULL, NULL, "Italian"},
+ { 0x00010410, -1, "pc105", "it", NULL, NULL, "Italian (142)"},
+ { 0xa0000410, -1, "macbook79", "it", "mac", NULL, "Italiano (Apple)"},
+ { 0x00000411, 7, "jp106", "jp", NULL, NULL, "Japanese"},
+ { 0x00000413, -1, "pc105", "nl", NULL, NULL, "Dutch"},
+ { 0x00000813, -1, "pc105", "be", NULL, NULL, "Dutch (Belgian)"},
+ { 0x00000414, -1, "pc105", "no", NULL, NULL, "Norwegian"},
+ { 0x00000415, -1, "pc105", "pl", NULL, NULL, "Polish (Programmers)"},
+ { 0x00000416, -1, "pc105", "br", NULL, NULL, "Portuguese (Brazil,ABNT)"},
+ { 0x00010416, -1, "abnt2", "br", NULL, NULL, "Portuguese (Brazil,ABNT2)"},
+ { 0x00000816, -1, "pc105", "pt", NULL, NULL, "Portuguese (Portugal)"},
+ { 0x0000041a, -1, "pc105", "hr", NULL, NULL, "Croatian"},
+ { 0x0000041d, -1, "pc105", "se", NULL, NULL, "Swedish (Sweden)"},
+ { 0x00000424, -1, "pc105", "si", NULL, NULL, "Slovenian"},
+ { 0x00000425, -1, "pc105", "ee", NULL, NULL, "Estonian"},
+ { 0x00000452, -1, "pc105", "gb", "intl", NULL, "United Kingdom (Extended)"},
+ { -1, -1, NULL, NULL, NULL, NULL, NULL}
};
-/* Listing of language codes from MSDN */
/*
-Support ID XKB Language
-====================================================================
- ? 0x0000 Language Neutral
- ? 0x0400 Process or User Default Language
- ? 0x0800 System Default Language
- 0x0401 Arabic (Saudi Arabia)
- 0x0801 Arabic (Iraq)
- 0x0c01 Arabic (Egypt)
- 0x1001 Arabic (Libya)
- 0x1401 Arabic (Algeria)
- 0x1801 Arabic (Morocco)
- 0x1c01 Arabic (Tunisia)
- 0x2001 Arabic (Oman)
- 0x2401 Arabic (Yemen)
- 0x2801 Arabic (Syria)
- 0x2c01 Arabic (Jordan)
- 0x3001 Arabic (Lebanon)
- 0x3401 Arabic (Kuwait)
- 0x3801 Arabic (U.A.E.)
- 0x3c01 Arabic (Bahrain)
- 0x4001 Arabic (Qatar)
- Arabic (102) AZERTY
- 0x0402 Bulgarian
- 0x0403 Catalan
- 0x0404 Chinese (Taiwan)
- 0x0804 Chinese (PRC)
- 0x0c04 Chinese (Hong Kong SAR, PRC)
- 0x1004 Chinese (Singapore)
- 0x1404 Chinese (Macao SAR) (98/ME,2K/XP)
- X 0x0405 cz Czech
- X cz_qwerty Czech (QWERTY)
- Czech (Programmers)
- X 0x0406 dk Danish
- X 0x0407 de German (Standard)
- X 0x0807 de_CH German (Switzerland)
- 0x0c07 German (Austria)
- 0x1007 German (Luxembourg)
- 0x1407 German (Liechtenstein)
- 0x0408 Greek
- X 0x0409 us English (United States)
- X 0x0809 gb English (United Kingdom)
- 0x0c09 English (Australian)
- 0x1009 English (Canadian)
- 0x1409 English (New Zealand)
- X 0x1809 ie English (Ireland)
- 0x1c09 English (South Africa)
- 0x2009 English (Jamaica)
- 0x2409 English (Caribbean)
- 0x2809 English (Belize)
- 0x2c09 English (Trinidad)
- 0x3009 English (Zimbabwe) (98/ME,2K/XP)
- 0x3409 English (Philippines) (98/ME,2K/XP)
- X 0x040a es Spanish (Spain, Traditional Sort)
- 0x080a Spanish (Mexican)
- 0x0c0a Spanish (Spain, Modern Sort)
- 0x100a Spanish (Guatemala)
- 0x140a Spanish (Costa Rica)
- 0x180a Spanish (Panama)
- 0x1c0a Spanish (Dominican Republic)
- 0x200a Spanish (Venezuela)
- 0x240a Spanish (Colombia)
- 0x280a Spanish (Peru)
- 0x2c0a Spanish (Argentina)
- 0x300a Spanish (Ecuador)
- 0x340a Spanish (Chile)
- 0x380a Spanish (Uruguay)
- 0x3c0a Spanish (Paraguay)
- 0x400a Spanish (Bolivia)
- 0x440a Spanish (El Salvador)
- 0x480a Spanish (Honduras)
- 0x4c0a Spanish (Nicaragua)
- 0x500a Spanish (Puerto Rico)
- X 0x040b fi Finnish
- Finnish (with Sami)
- X 0x040c fr French (Standard)
- X 0x080c be French (Belgian)
- . 0x0c0c French (Canadian)
- French (Canadian, Legacy)
- Canadian (Multilingual)
- X 0x100c fr_CH French (Switzerland)
- 0x140c French (Luxembourg)
- 0x180c French (Monaco) (98/ME,2K/XP)
- 0x040d Hebrew
- X 0x040e hu Hungarian
- . 0x040f Icelandic
- X 0x0410 it Italian (Standard)
- 0x0810 Italian (Switzerland)
- X 0x0411 jp Japanese
- 0x0412 Korean
- 0x0812 Korean (Johab) (95,NT)
- . 0x0413 Dutch (Netherlands)
- X 0x0813 be Dutch (Belgium)
- X 0x0414 no Norwegian (Bokmal)
- 0x0814 Norwegian (Nynorsk)
- . 0x0415 Polish
- X 0x0416 br Portuguese (Brazil)
- X 0x0816 pt Portuguese (Portugal)
- . 0x0418 Romanian
- 0x0419 Russian
- . 0x041a Croatian
- . 0x081a Serbian (Latin)
- . 0x0c1a Serbian (Cyrillic)
- 0x101a Croatian (Bosnia and Herzegovina)
- 0x141a Bosnian (Bosnia and Herzegovina)
- 0x181a Serbian (Latin, Bosnia, and Herzegovina)
- 0x1c1a Serbian (Cyrillic, Bosnia, and Herzegovina)
- . 0x041b Slovak
- . 0x041c Albanian
- X 0x041d se Swedish
- 0x081d Swedish (Finland)
- 0x041e Thai
- 0x041f Turkish
- 0x0420 Urdu (Pakistan) (98/ME,2K/XP)
- 0x0820 Urdu (India)
- 0x0421 Indonesian
- 0x0422 Ukrainian
- 0x0423 Belarusian
- . 0x0424 Slovenian
- 0x0425 Estonian
- 0x0426 Latvian
- 0x0427 Lithuanian
- 0x0827 Lithuanian (Classic) (98)
- 0x0429 Farsi
- 0x042a Vietnamese (98/ME,NT,2K/XP)
- 0x042b Armenian. This is Unicode only. (2K/XP)
- Armenian Eastern
- Armenian Western
- 0x042c Azeri (Latin)
- 0x082c Azeri (Cyrillic)
- 0x042d Basque
- 0x042f Macedonian (FYROM)
- 0x0430 Sutu
- 0x0432 Setswana/Tswana (South Africa)
- 0x0434 isiXhosa/Xhosa (South Africa)
- 0x0435 isiZulu/Zulu (South Africa)
- 0x0436 Afrikaans
- 0x0437 Georgian. This is Unicode only. (2K/XP)
- . 0x0438 Faeroese
- 0x0439 Hindi. This is Unicode only. (2K/XP)
- 0x043a Maltese (Malta)
- 0x043b Sami, Northern (Norway)
- 0x083b Sami, Northern (Sweden)
- 0x0c3b Sami, Northern (Finland)
- 0x103b Sami, Lule (Norway)
- 0x143b Sami, Lule (Sweden)
- 0x183b Sami, Southern (Norway)
- 0x1c3b Sami, Southern (Sweden)
- 0x203b Sami, Skolt (Finland)
- 0x243b Sami, Inari (Finland)
- 0x043e Malay (Malaysian)
- 0x083e Malay (Brunei Darussalam)
- 0x0440 Kyrgyz. (XP)
- 0x0441 Swahili (Kenya)
- 0x0443 Uzbek (Latin)
- 0x0843 Uzbek (Cyrillic)
- 0x0444 Tatar (Tatarstan)
- 0x0445 Bengali (India)
- Bengali (Inscript)
- 0x0446 Punjabi. This is Unicode only. (XP)
- 0x0447 Gujarati. This is Unicode only. (XP)
- 0x0449 Tamil. This is Unicode only. (2K/XP)
- 0x044a Telugu. This is Unicode only. (XP)
- 0x044b Kannada. This is Unicode only. (XP)
- 0x044c Malayalam (India)
- 0x044e Marathi. This is Unicode only. (2K/XP)
- 0x044f Sanskrit. This is Unicode only. (2K/XP)
- 0x0450 Mongolian (XP)
- 0x0452 Welsh (United Kingdom)
- 0x0455 Burmese
- 0x0456 Galician (XP)
- 0x0457 Konkani. This is Unicode only. (2K/XP)
- 0x045a Syriac. This is Unicode only. (XP)
- 0x0465 Divehi. This is Unicode only. (XP)
- Divehi (Phonetic)
- Divehi (Typewriter)
- 0x046b Quechua (Bolivia)
- 0x086b Quechua (Ecuador)
- 0x0c6b Quechua (Peru)
- 0x046c Sesotho sa Leboa/Northern Sotho (South Africa)
- 0x007f LOCALE_INVARIANT. See MAKELCID.
- 0x0481 Maori (New Zealand)
-*/
+ See http://technet.microsoft.com/en-us/library/cc766503%28WS.10%29.aspx
+ for a listing of input locale (keyboard layout) codes
+*/
diff --git a/hw/xwin/winmouse.c b/hw/xwin/winmouse.c
index e645d7ebc..da1d5a9e7 100644
--- a/hw/xwin/winmouse.c
+++ b/hw/xwin/winmouse.c
@@ -36,14 +36,12 @@
#endif
#include "win.h"
-#if defined(XFree86Server)
#include "inputstr.h"
#include "exevents.h" /* for button/axes labels */
#include "xserver-properties.h"
/* Peek the internal button mapping */
static CARD8 const *g_winMouseButtonMap = NULL;
-#endif
/*
@@ -123,9 +121,7 @@ winMouseProc (DeviceIntPtr pDeviceInt, int iState)
free(map);
free(btn_labels);
-#if defined(XFree86Server)
g_winMouseButtonMap = pDeviceInt->button->map;
-#endif
break;
case DEVICE_ON:
@@ -133,9 +129,8 @@ winMouseProc (DeviceIntPtr pDeviceInt, int iState)
break;
case DEVICE_CLOSE:
-#if defined(XFree86Server)
g_winMouseButtonMap = NULL;
-#endif
+
case DEVICE_OFF:
pDevice->on = FALSE;
break;
@@ -242,10 +237,8 @@ winMouseButtonsSendEvent (int iEventType, int iButton)
int i, nevents;
ValuatorMask mask;
-#if defined(XFree86Server)
if (g_winMouseButtonMap)
iButton = g_winMouseButtonMap[iButton];
-#endif
valuator_mask_zero(&mask);
GetEventList(&events);
@@ -253,7 +246,7 @@ winMouseButtonsSendEvent (int iEventType, int iButton)
POINTER_RELATIVE, &mask);
for (i = 0; i < nevents; i++)
- mieqEnqueue(g_pwinPointer, events[i].event);
+ mieqEnqueue(g_pwinPointer, (InternalEvent*)events[i].event);
#if CYGDEBUG
ErrorF("winMouseButtonsSendEvent: iEventType: %d, iButton: %d, nEvents %d\n",
@@ -388,5 +381,5 @@ void winEnqueueMotion(int x, int y)
POINTER_ABSOLUTE | POINTER_SCREEN, &mask);
for (i = 0; i < nevents; i++)
- mieqEnqueue(g_pwinPointer, events[i].event);
+ mieqEnqueue(g_pwinPointer, (InternalEvent*)events[i].event);
}
diff --git a/hw/xwin/winmultiwindowclass.c b/hw/xwin/winmultiwindowclass.c
index a5cf2120a..a5cf2120a 100755..100644
--- a/hw/xwin/winmultiwindowclass.c
+++ b/hw/xwin/winmultiwindowclass.c
diff --git a/hw/xwin/winmultiwindowclass.h b/hw/xwin/winmultiwindowclass.h
index c635ab20b..c635ab20b 100755..100644
--- a/hw/xwin/winmultiwindowclass.h
+++ b/hw/xwin/winmultiwindowclass.h
diff --git a/hw/xwin/winmultiwindowicons.c b/hw/xwin/winmultiwindowicons.c
index cb27d2fe3..1ca3f9141 100644
--- a/hw/xwin/winmultiwindowicons.c
+++ b/hw/xwin/winmultiwindowicons.c
@@ -41,13 +41,6 @@
#include "propertyst.h"
#include "windowstr.h"
-/*
- * External global variables
- */
-
-extern HICON g_hIconX;
-extern HICON g_hSmallIconX;
-
/*
* Prototypes for local functions
diff --git a/hw/xwin/winmultiwindowwindow.c b/hw/xwin/winmultiwindowwindow.c
index 95d9d71fc..7efc360a4 100644
--- a/hw/xwin/winmultiwindowwindow.c
+++ b/hw/xwin/winmultiwindowwindow.c
@@ -38,16 +38,6 @@
#include "win.h"
#include "dixevents.h"
#include "winmultiwindowclass.h"
-#include "winprefs.h"
-
-/*
- * External global variables
- */
-
-extern HICON g_hIconX;
-extern HICON g_hSmallIconX;
-extern HWND g_hDlgDepthChange;
-extern Bool g_fNativeGl;
/*
* Prototypes for local functions
diff --git a/hw/xwin/winmultiwindowwm.c b/hw/xwin/winmultiwindowwm.c
index 2fcad3249..c9b1584f8 100644
--- a/hw/xwin/winmultiwindowwm.c
+++ b/hw/xwin/winmultiwindowwm.c
@@ -634,7 +634,7 @@ winMultiWindowWMProc (void *pArg)
ErrorF ("winMultiWindowWMProc ()\n");
#endif
- /* Loop until we explicity break out */
+ /* Loop until we explicitly break out */
for (;;)
{
WMMsgNodePtr pNode;
@@ -1553,6 +1553,7 @@ winApplyHints (Display *pDisplay, Window iWindow, HWND hWnd, HWND *zstyle)
int format;
unsigned long hint = 0, maxmin = 0, style, nitems = 0 , left = 0;
WindowPtr pWin = GetProp (hWnd, WIN_WINDOW_PROP);
+ MwmHints *mwm_hint = NULL;
if (!hWnd) return;
if (!IsWindow (hWnd)) return;
@@ -1584,7 +1585,6 @@ winApplyHints (Display *pDisplay, Window iWindow, HWND hWnd, HWND *zstyle)
}
nitems = left = 0;
- MwmHints *mwm_hint = NULL;
if (XGetWindowProperty(pDisplay, iWindow, motif_wm_hints, 0L,
PropMwmHintsElements, False, motif_wm_hints, &type, &format,
&nitems, &left, (unsigned char **)&mwm_hint) == Success)
diff --git a/hw/xwin/winmultiwindowwndproc.c b/hw/xwin/winmultiwindowwndproc.c
index d14ceee9c..b559cd8cf 100644
--- a/hw/xwin/winmultiwindowwndproc.c
+++ b/hw/xwin/winmultiwindowwndproc.c
@@ -42,15 +42,6 @@
#include "winmsg.h"
#include "inputstr.h"
-/*
- * External global variables
- */
-
-extern Bool g_fCursor;
-extern Bool g_fKeyboardHookLL;
-extern Bool g_fSoftwareCursor;
-extern Bool g_fButton[3];
-
extern void winUpdateWindowPosition (HWND hWnd, Bool reshape, HWND *zstyle);
diff --git a/hw/xwin/winnativegdi.c b/hw/xwin/winnativegdi.c
index 48a467a2c..b8d2d351b 100644
--- a/hw/xwin/winnativegdi.c
+++ b/hw/xwin/winnativegdi.c
@@ -35,13 +35,6 @@
/*
- * External symbols
- */
-
-extern HWND g_hDlgExit;
-
-
-/*
* Local function prototypes
*/
diff --git a/hw/xwin/winpfbdd.c b/hw/xwin/winpfbdd.c
index 13fc1058d..7859c6b19 100644
--- a/hw/xwin/winpfbdd.c
+++ b/hw/xwin/winpfbdd.c
@@ -38,14 +38,6 @@
/*
- * External symbols
- */
-
-extern const GUID _IID_IDirectDraw2;
-extern HWND g_hDlgExit;
-
-
-/*
* Local function prototypes
*/
diff --git a/hw/xwin/winpixmap.c b/hw/xwin/winpixmap.c
index 050c71a7f..8bd8e3478 100644
--- a/hw/xwin/winpixmap.c
+++ b/hw/xwin/winpixmap.c
@@ -163,11 +163,8 @@ winDestroyPixmapNativeGDI (PixmapPtr pPixmap)
if (pPixmapPriv->hBitmap) DeleteObject (pPixmapPriv->hBitmap);
/* Free the bitmap info header memory */
- if (pPixmapPriv->pbmih != NULL)
- {
- free (pPixmapPriv->pbmih);
- pPixmapPriv->pbmih = NULL;
- }
+ free(pPixmapPriv->pbmih);
+ pPixmapPriv->pbmih = NULL;
/* Free the pixmap memory */
free (pPixmap);
diff --git a/hw/xwin/winprefs.c b/hw/xwin/winprefs.c
index 1996ef0ef..4ccb4ffc2 100644
--- a/hw/xwin/winprefs.c
+++ b/hw/xwin/winprefs.c
@@ -49,22 +49,11 @@
/* Where will the custom menu commands start counting from? */
#define STARTMENUID WM_USER
-/* External global variables */
-#ifdef XWIN_MULTIWINDOW
-extern DWORD g_dwCurrentThreadID;
-#endif
-
extern const char *winGetBaseDir(void);
/* From winmultiwindowflex.l, the real parser */
extern void parse_file (FILE *fp);
-/* From winprefyacc.y, the pref structure loaded by the parser */
-extern WINPREFS pref;
-
-/* The global X default icon */
-extern HICON g_hIconX;
-extern HICON g_hSmallIconX;
/* Currently in use command ID, incremented each new menu item created */
static int g_cmdid = STARTMENUID;
diff --git a/hw/xwin/winprefs.h b/hw/xwin/winprefs.h
index 4daf47401..33b496df8 100644
--- a/hw/xwin/winprefs.h
+++ b/hw/xwin/winprefs.h
@@ -151,7 +151,8 @@ typedef struct WINPREFS
} WINPREFS;
-
+/* The global pref settings structure loaded by the winprefyacc.y parser */
+extern WINPREFS pref;
/* Functions */
diff --git a/hw/xwin/winprocarg.c b/hw/xwin/winprocarg.c
index 66a0503f2..1ce5c2dca 100755..100644
--- a/hw/xwin/winprocarg.c
+++ b/hw/xwin/winprocarg.c
@@ -30,40 +30,20 @@ from The Open Group.
#ifdef HAVE_XWIN_CONFIG_H
#include <xwin-config.h>
#endif
-#ifdef XVENDORNAME
-#define VENDOR_STRING XVENDORNAME
-#define VENDOR_CONTACT BUILDERADDR
-#endif
+
#include <../xfree86/common/xorgVersion.h>
#include "win.h"
#include "winconfig.h"
-#include "winprefs.h"
#include "winmsg.h"
/*
* References to external symbols
*/
-extern int g_iNumScreens;
-extern winScreenInfo * g_ScreenInfo;
#ifdef XWIN_CLIPBOARD
extern Bool g_fUnicodeClipboard;
extern Bool g_fClipboard;
#endif
-extern int g_iLogVerbose;
-extern const char * g_pszLogFile;
-#ifdef RELOCATE_PROJECTROOT
-extern Bool g_fLogFileChanged;
-#endif
-extern Bool g_fXdmcpEnabled;
-extern Bool g_fAuthEnabled;
-extern char * g_pszCommandLine;
-extern Bool g_fKeyboardHookLL;
-extern Bool g_fNoHelpMessageBox;
-extern Bool g_fSoftwareCursor;
-extern Bool g_fSilentDupError;
-extern Bool g_fNativeGl;
-
/* globals required by callback function for monitor information */
struct GetMonitorInfoData {
int requestedMonitor;
@@ -1248,10 +1228,10 @@ winLogVersionInfo (void)
s_fBeenHere = TRUE;
ErrorF ("Welcome to the XWin X Server\n");
- ErrorF ("Vendor: %s\n", VENDOR_STRING);
+ ErrorF ("Vendor: %s\n", XVENDORNAME);
ErrorF ("Release: %d.%d.%d.%d (%d)\n", XORG_VERSION_MAJOR, XORG_VERSION_MINOR, XORG_VERSION_PATCH, XORG_VERSION_SNAP, XORG_VERSION_CURRENT);
ErrorF ("%s\n\n", BUILDERSTRING);
- ErrorF ("Contact: %s\n", VENDOR_CONTACT);
+ ErrorF ("Contact: %s\n", BUILDERADDR);
}
/*
diff --git a/hw/xwin/winrandr.c b/hw/xwin/winrandr.c
index 7b5b1359c..7b5b1359c 100755..100644
--- a/hw/xwin/winrandr.c
+++ b/hw/xwin/winrandr.c
diff --git a/hw/xwin/winscrinit.c b/hw/xwin/winscrinit.c
index cf65881fe..57a08846b 100644
--- a/hw/xwin/winscrinit.c
+++ b/hw/xwin/winscrinit.c
@@ -65,14 +65,6 @@ winMWExtWMProcs = {
};
#endif
-
-/*
- * References to external symbols
- */
-
-extern Bool g_fSoftwareCursor;
-
-
/*
* Prototypes
*/
diff --git a/hw/xwin/winshaddd.c b/hw/xwin/winshaddd.c
index 8dd1084e6..4e284b9c1 100644
--- a/hw/xwin/winshaddd.c
+++ b/hw/xwin/winshaddd.c
@@ -38,13 +38,6 @@
/*
- * External symbols
- */
-
-extern HWND g_hDlgExit;
-extern const char *g_pszLogFile;
-
-/*
* FIXME: Headers are broken, DEFINE_GUID doesn't work correctly,
* so we have to redefine it here.
*/
@@ -55,7 +48,7 @@ extern const char *g_pszLogFile;
/*
- * FIXME: Headers are broken, IID_IDirectDraw4 has to be defined
+ * FIXME: Headers are broken, IID_IDirectDraw2 has to be defined
* here manually. Should be handled by ddraw.h
*/
#ifndef IID_IDirectDraw2
@@ -828,7 +821,6 @@ winInitVisualsShadowDD (ScreenPtr pScreen)
case 24:
case 16:
case 15:
-#if defined(XFree86Server)
/* Create the real visual */
if (!miSetVisualTypesAndMasks (pScreenInfo->dwDepth,
TrueColorMask,
@@ -861,42 +853,9 @@ winInitVisualsShadowDD (ScreenPtr pScreen)
return FALSE;
}
#endif
-#else /* XFree86Server */
- /* Create the real visual */
- if (!fbSetVisualTypesAndMasks (pScreenInfo->dwDepth,
- TrueColorMask,
- pScreenPriv->dwBitsPerRGB,
- pScreenPriv->dwRedMask,
- pScreenPriv->dwGreenMask,
- pScreenPriv->dwBlueMask))
- {
- ErrorF ("winInitVisualsShadowDD - fbSetVisualTypesAndMasks "
- "failed for TrueColor\n");
- return FALSE;
- }
-
-#ifdef XWIN_EMULATEPSEUDO
- if (!pScreenInfo->fEmulatePseudo)
- break;
-
- /* Setup a pseudocolor visual */
- if (!fbSetVisualTypesAndMasks (8,
- PseudoColorMask,
- 8,
- 0,
- 0,
- 0))
- {
- ErrorF ("winInitVisualsShadowDD - fbSetVisualTypesAndMasks "
- "failed for PseudoColor\n");
- return FALSE;
- }
-#endif
-#endif /* XFree86Server */
break;
case 8:
-#if defined(XFree86Server)
if (!miSetVisualTypesAndMasks (pScreenInfo->dwDepth,
pScreenInfo->fFullScreen
? PseudoColorMask : StaticColorMask,
@@ -911,20 +870,6 @@ winInitVisualsShadowDD (ScreenPtr pScreen)
"failed\n");
return FALSE;
}
-#else /* XFree86Server */
- if (!fbSetVisualTypesAndMasks (pScreenInfo->dwDepth,
- pScreenInfo->fFullScreen
- ? PseudoColorMask : StaticColorMask,
- pScreenPriv->dwBitsPerRGB,
- pScreenPriv->dwRedMask,
- pScreenPriv->dwGreenMask,
- pScreenPriv->dwBlueMask))
- {
- ErrorF ("winInitVisualsShadowDD - fbSetVisualTypesAndMasks "
- "failed\n");
- return FALSE;
- }
-#endif /* XFree86Server */
break;
default:
diff --git a/hw/xwin/winshadddnl.c b/hw/xwin/winshadddnl.c
index 5ca3e4f62..82fe4be36 100644
--- a/hw/xwin/winshadddnl.c
+++ b/hw/xwin/winshadddnl.c
@@ -38,13 +38,6 @@
/*
- * External symbols
- */
-
-extern HWND g_hDlgExit;
-
-
-/*
* FIXME: Headers are broken, DEFINE_GUID doesn't work correctly,
* so we have to redefine it here.
*/
@@ -883,7 +876,6 @@ winInitVisualsShadowDDNL (ScreenPtr pScreen)
case 24:
case 16:
case 15:
-#if defined(XFree86Server)
/* Setup the real visual */
if (!miSetVisualTypesAndMasks (pScreenInfo->dwDepth,
TrueColorMask,
@@ -916,42 +908,9 @@ winInitVisualsShadowDDNL (ScreenPtr pScreen)
return FALSE;
}
#endif
-#else /* XFree86Server */
- /* Setup the real visual */
- if (!fbSetVisualTypesAndMasks (pScreenInfo->dwDepth,
- TrueColorMask,
- pScreenPriv->dwBitsPerRGB,
- pScreenPriv->dwRedMask,
- pScreenPriv->dwGreenMask,
- pScreenPriv->dwBlueMask))
- {
- ErrorF ("winInitVisualsShadowDDNL - fbSetVisualTypesAndMasks "
- "failed for TrueColor\n");
- return FALSE;
- }
-
-#ifdef XWIN_EMULATEPSEUDO
- if (!pScreenInfo->fEmulatePseudo)
- break;
-
- /* Setup a pseudocolor visual */
- if (!fbSetVisualTypesAndMasks (8,
- PseudoColorMask,
- 8,
- 0,
- 0,
- 0))
- {
- ErrorF ("winInitVisualsShadowDDNL - fbSetVisualTypesAndMasks "
- "failed for PseudoColor\n");
- return FALSE;
- }
-#endif
-#endif /* XFree86Server */
break;
case 8:
-#if defined(XFree86Server)
if (!miSetVisualTypesAndMasks (pScreenInfo->dwDepth,
pScreenInfo->fFullScreen
? PseudoColorMask : StaticColorMask,
@@ -966,20 +925,6 @@ winInitVisualsShadowDDNL (ScreenPtr pScreen)
"failed\n");
return FALSE;
}
-#else /* XFree86Server */
- if (!fbSetVisualTypesAndMasks (pScreenInfo->dwDepth,
- pScreenInfo->fFullScreen
- ? PseudoColorMask : StaticColorMask,
- pScreenPriv->dwBitsPerRGB,
- pScreenPriv->dwRedMask,
- pScreenPriv->dwGreenMask,
- pScreenPriv->dwBlueMask))
- {
- ErrorF ("winInitVisualsShadowDDNL - fbSetVisualTypesAndMasks "
- "failed\n");
- return FALSE;
- }
-#endif /* XFree86Server */
break;
default:
diff --git a/hw/xwin/winshadgdi.c b/hw/xwin/winshadgdi.c
index 96d149c2b..4971851e5 100644
--- a/hw/xwin/winshadgdi.c
+++ b/hw/xwin/winshadgdi.c
@@ -35,16 +35,6 @@
/*
- * External symbols
- */
-
-#ifdef XWIN_MULTIWINDOW
-extern DWORD g_dwCurrentThreadID;
-#endif
-extern HWND g_hDlgExit;
-
-
-/*
* Local function prototypes
*/
@@ -715,7 +705,6 @@ winInitVisualsShadowGDI (ScreenPtr pScreen)
case 24:
case 16:
case 15:
-#if defined(XFree86Server)
/* Setup the real visual */
if (!miSetVisualTypesAndMasks (pScreenInfo->dwDepth,
TrueColorMask,
@@ -748,42 +737,9 @@ winInitVisualsShadowGDI (ScreenPtr pScreen)
return FALSE;
}
#endif
-#else /* XFree86Server */
- /* Setup the real visual */
- if (!fbSetVisualTypesAndMasks (pScreenInfo->dwDepth,
- TrueColorMask,
- pScreenPriv->dwBitsPerRGB,
- pScreenPriv->dwRedMask,
- pScreenPriv->dwGreenMask,
- pScreenPriv->dwBlueMask))
- {
- ErrorF ("winInitVisualsShadowGDI - fbSetVisualTypesAndMasks "
- "failed for TrueColor\n");
- return FALSE;
- }
-
-#ifdef XWIN_EMULATEPSEUDO
- if (!pScreenInfo->fEmulatePseudo)
- break;
-
- /* Setup a pseudocolor visual */
- if (!fbSetVisualTypesAndMasks (8,
- PseudoColorMask,
- 8,
- 0,
- 0,
- 0))
- {
- ErrorF ("winInitVisualsShadowGDI - fbSetVisualTypesAndMasks "
- "failed for PseudoColor\n");
- return FALSE;
- }
-#endif
-#endif /* XFree86Server */
break;
case 8:
-#if defined(XFree86Server)
if (!miSetVisualTypesAndMasks (pScreenInfo->dwDepth,
PseudoColorMask,
pScreenPriv->dwBitsPerRGB,
@@ -796,19 +752,6 @@ winInitVisualsShadowGDI (ScreenPtr pScreen)
"failed\n");
return FALSE;
}
-#else /* XFree86Server */
- if (!fbSetVisualTypesAndMasks (pScreenInfo->dwDepth,
- PseudoColorMask,
- pScreenPriv->dwBitsPerRGB,
- pScreenPriv->dwRedMask,
- pScreenPriv->dwGreenMask,
- pScreenPriv->dwBlueMask))
- {
- ErrorF ("winInitVisualsShadowGDI - fbSetVisualTypesAndMasks "
- "failed\n");
- return FALSE;
- }
-#endif
break;
default:
diff --git a/hw/xwin/wintrayicon.c b/hw/xwin/wintrayicon.c
index 895b47caf..895b47caf 100755..100644
--- a/hw/xwin/wintrayicon.c
+++ b/hw/xwin/wintrayicon.c
diff --git a/hw/xwin/winvalargs.c b/hw/xwin/winvalargs.c
index 6f8d1c994..357d3d70a 100755..100644
--- a/hw/xwin/winvalargs.c
+++ b/hw/xwin/winvalargs.c
@@ -35,13 +35,6 @@
#include "winmsg.h"
-/*
- * References to external symbols
- */
-
-extern int g_iNumScreens;
-extern winScreenInfo * g_ScreenInfo;
-extern Bool g_fXdmcpEnabled;
/*
diff --git a/hw/xwin/winvideo.c b/hw/xwin/winvideo.c
index 0438e5f54..0438e5f54 100755..100644
--- a/hw/xwin/winvideo.c
+++ b/hw/xwin/winvideo.c
diff --git a/hw/xwin/winwakeup.c b/hw/xwin/winwakeup.c
index e1eece34a..b512b29e8 100644
--- a/hw/xwin/winwakeup.c
+++ b/hw/xwin/winwakeup.c
@@ -36,16 +36,6 @@
#endif
#include "win.h"
-
-/*
- * References to external symbols
- */
-
-extern HWND g_hDlgDepthChange;
-extern HWND g_hDlgExit;
-extern HWND g_hDlgAbout;
-
-
/* See Porting Layer Definition - p. 7 */
void
winWakeupHandler (int nScreen,
diff --git a/hw/xwin/winwin32rootless.c b/hw/xwin/winwin32rootless.c
index fbe419132..75142f15b 100755..100644
--- a/hw/xwin/winwin32rootless.c
+++ b/hw/xwin/winwin32rootless.c
@@ -41,7 +41,6 @@
#include <X11/extensions/windowswmstr.h>
#include "dixevents.h"
#include "winmultiwindowclass.h"
-#include "winprefs.h"
#include <X11/Xatom.h>
diff --git a/hw/xwin/winwin32rootlesswindow.c b/hw/xwin/winwin32rootlesswindow.c
index 214e8954b..214e8954b 100755..100644
--- a/hw/xwin/winwin32rootlesswindow.c
+++ b/hw/xwin/winwin32rootlesswindow.c
diff --git a/hw/xwin/winwin32rootlesswndproc.c b/hw/xwin/winwin32rootlesswndproc.c
index 4d7afee42..21506df15 100755..100644
--- a/hw/xwin/winwin32rootlesswndproc.c
+++ b/hw/xwin/winwin32rootlesswndproc.c
@@ -53,14 +53,6 @@
/*
- * Global variables
- */
-
-extern Bool g_fNoConfigureWindow;
-extern Bool g_fSoftwareCursor;
-
-
-/*
* Local globals
*/
diff --git a/hw/xwin/winwindowswm.c b/hw/xwin/winwindowswm.c
index 4027539c2..71384097f 100755..100644
--- a/hw/xwin/winwindowswm.c
+++ b/hw/xwin/winwindowswm.c
@@ -77,10 +77,10 @@ make_box (int x, int y, int w, int h)
}
static int
-ProcWindowsWMQueryVersion(register ClientPtr client)
+ProcWindowsWMQueryVersion(ClientPtr client)
{
xWindowsWMQueryVersionReply rep;
- register int n;
+ int n;
REQUEST_SIZE_MATCH(xWindowsWMQueryVersionReq);
rep.type = X_Reply;
@@ -158,7 +158,7 @@ WMFreeEvents (pointer data, XID id)
}
static int
-ProcWindowsWMSelectInput (register ClientPtr client)
+ProcWindowsWMSelectInput (ClientPtr client)
{
REQUEST(xWindowsWMSelectInputReq);
WMEventPtr pEvent, pNewEvent, *pHead;
@@ -298,7 +298,7 @@ winWindowsWMSendEvent (int type, unsigned int mask, int which, int arg,
/* general utility functions */
static int
-ProcWindowsWMDisableUpdate (register ClientPtr client)
+ProcWindowsWMDisableUpdate (ClientPtr client)
{
REQUEST_SIZE_MATCH(xWindowsWMDisableUpdateReq);
@@ -308,7 +308,7 @@ ProcWindowsWMDisableUpdate (register ClientPtr client)
}
static int
-ProcWindowsWMReenableUpdate (register ClientPtr client)
+ProcWindowsWMReenableUpdate (ClientPtr client)
{
REQUEST_SIZE_MATCH(xWindowsWMReenableUpdateReq);
@@ -321,7 +321,7 @@ ProcWindowsWMReenableUpdate (register ClientPtr client)
/* window functions */
static int
-ProcWindowsWMSetFrontProcess (register ClientPtr client)
+ProcWindowsWMSetFrontProcess (ClientPtr client)
{
REQUEST_SIZE_MATCH(xWindowsWMSetFrontProcessReq);
@@ -334,7 +334,7 @@ ProcWindowsWMSetFrontProcess (register ClientPtr client)
/* frame functions */
static int
-ProcWindowsWMFrameGetRect (register ClientPtr client)
+ProcWindowsWMFrameGetRect (ClientPtr client)
{
xWindowsWMFrameGetRectReply rep;
BoxRec ir;
@@ -388,7 +388,7 @@ ProcWindowsWMFrameGetRect (register ClientPtr client)
static int
-ProcWindowsWMFrameDraw (register ClientPtr client)
+ProcWindowsWMFrameDraw (ClientPtr client)
{
REQUEST(xWindowsWMFrameDrawReq);
WindowPtr pWin;
@@ -478,12 +478,10 @@ ProcWindowsWMFrameDraw (register ClientPtr client)
}
static int
-ProcWindowsWMFrameSetTitle(
- register ClientPtr client
- )
+ProcWindowsWMFrameSetTitle(ClientPtr client)
{
unsigned int title_length, title_max;
- unsigned char *title_bytes;
+ char *title_bytes;
REQUEST(xWindowsWMFrameSetTitleReq);
WindowPtr pWin;
win32RootlessWindowPtr pRLWinPriv;
@@ -540,7 +538,7 @@ ProcWindowsWMFrameSetTitle(
/* dispatch */
static int
-ProcWindowsWMDispatch (register ClientPtr client)
+ProcWindowsWMDispatch (ClientPtr client)
{
REQUEST(xReq);
@@ -586,16 +584,16 @@ SNotifyEvent (xWindowsWMNotifyEvent *from, xWindowsWMNotifyEvent *to)
}
static int
-SProcWindowsWMQueryVersion (register ClientPtr client)
+SProcWindowsWMQueryVersion (ClientPtr client)
{
- register int n;
+ int n;
REQUEST(xWindowsWMQueryVersionReq);
swaps(&stuff->length, n);
return ProcWindowsWMQueryVersion(client);
}
static int
-SProcWindowsWMDispatch (register ClientPtr client)
+SProcWindowsWMDispatch (ClientPtr client)
{
REQUEST(xReq);
diff --git a/hw/xwin/winwndproc.c b/hw/xwin/winwndproc.c
index 5e8451082..6d2270a20 100644
--- a/hw/xwin/winwndproc.c
+++ b/hw/xwin/winwndproc.c
@@ -51,18 +51,6 @@ Bool g_fButton[3] = { FALSE, FALSE, FALSE };
/*
- * References to external symbols
- */
-
-extern Bool g_fClipboard;
-extern HWND g_hDlgDepthChange;
-extern Bool g_fKeyboardHookLL;
-extern HWND g_hwndKeyboardFocus;
-extern Bool g_fSoftwareCursor;
-extern DWORD g_dwCurrentThreadID;
-
-
-/*
* Called by winWakeupHandler
* Processes current Windows message
*/
@@ -964,9 +952,6 @@ winWindowProc (HWND hwnd, UINT message,
if (s_pScreenPriv == NULL || s_pScreenInfo->fIgnoreInput)
break;
- /* Save handle of our main window that last received focus */
- g_hwndKeyboardFocus = hwnd;
-
/* Restore the state of all mode keys */
winRestoreModeKeyStates ();
@@ -979,9 +964,6 @@ winWindowProc (HWND hwnd, UINT message,
if (s_pScreenPriv == NULL || s_pScreenInfo->fIgnoreInput)
break;
- /* Clear handle of our main window that last received focus */
- g_hwndKeyboardFocus = NULL;
-
/* Release any pressed keys */
winKeybdReleaseKeys ();