diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-06-03 16:11:33 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-06-03 16:11:33 +1000 |
commit | 6de67d3206f0a4e307070714564c19efc84da2ec (patch) | |
tree | ac95c56d8396c52e2ae10c05c5d9649f66c2148a | |
parent | af4e658401ecbd2f2cc515b4c5abe5aee361cd64 (diff) | |
parent | 7f027d9dc0146e229802aeac342ea2dbab63264a (diff) |
Merge branch 'master' into xi2
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | doc/Xserver.man.pre | 3 | ||||
-rw-r--r-- | glx/glxcmds.c | 23 | ||||
-rw-r--r-- | glx/glxcmdsswap.c | 1 | ||||
-rw-r--r-- | glx/glxscreens.c | 2 | ||||
-rw-r--r-- | glx/glxserver.h | 3 | ||||
-rw-r--r-- | hw/dmx/glxProxy/glxcmds.c | 1 | ||||
-rw-r--r-- | hw/dmx/glxProxy/glxcmdsswap.c | 1 | ||||
-rw-r--r-- | hw/dmx/glxProxy/glxutil.c | 1 | ||||
-rw-r--r-- | hw/kdrive/linux/mouse.c | 6 | ||||
-rw-r--r-- | hw/kdrive/src/kdrive.h | 1 | ||||
-rw-r--r-- | hw/kdrive/src/kinput.c | 3 | ||||
-rw-r--r-- | hw/vfb/InitOutput.c | 30 | ||||
-rw-r--r-- | hw/xfree86/common/xf86.h | 7 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Helper.c | 33 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Module.h | 4 | ||||
-rw-r--r-- | hw/xfree86/common/xf86str.h | 15 | ||||
-rw-r--r-- | hw/xfree86/loader/loader.c | 21 | ||||
-rw-r--r-- | hw/xfree86/modes/xf86Crtc.c | 2 | ||||
-rw-r--r-- | hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib | 12 | ||||
-rw-r--r-- | hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib | bin | 41769 -> 41697 bytes | |||
-rw-r--r-- | mi/miexpose.c | 27 | ||||
-rw-r--r-- | miext/rootless/rootlessScreen.c | 3 |
23 files changed, 62 insertions, 141 deletions
diff --git a/configure.ac b/configure.ac index 308687c83..fc29bf016 100644 --- a/configure.ac +++ b/configure.ac @@ -589,7 +589,7 @@ AC_ARG_ENABLE(dmx, AS_HELP_STRING([--enable-dmx], [Build DMX server (d AC_ARG_ENABLE(xvfb, AS_HELP_STRING([--enable-xvfb], [Build Xvfb server (default: yes)]), [XVFB=$enableval], [XVFB=yes]) AC_ARG_ENABLE(xnest, AS_HELP_STRING([--enable-xnest], [Build Xnest server (default: no)]), [XNEST=$enableval], [XNEST=no]) AC_ARG_ENABLE(xquartz, AS_HELP_STRING([--enable-xquartz], [Build Xquartz server for OS-X (default: auto)]), [XQUARTZ=$enableval], [XQUARTZ=auto]) -AC_ARG_ENABLE(standalone-xpbproxy, AS_HELP_STRING([--enable-standalone-xpbproxy], [Build a standalone xpbproxy (in addigion to the one integrated into Xquartz as a separate thread) (default: no)]), [STANDALONE_XPBPROXY=$enableval], [STANDALONE_XPBPROXY=no]) +AC_ARG_ENABLE(standalone-xpbproxy, AS_HELP_STRING([--enable-standalone-xpbproxy], [Build a standalone xpbproxy (in addition to the one integrated into Xquartz as a separate thread) (default: no)]), [STANDALONE_XPBPROXY=$enableval], [STANDALONE_XPBPROXY=no]) AC_ARG_ENABLE(xwin, AS_HELP_STRING([--enable-xwin], [Build XWin server (default: auto)]), [XWIN=$enableval], [XWIN=auto]) dnl kdrive and its subsystems AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no]) @@ -1666,7 +1666,7 @@ if test "x$XQUARTZ" = xyes; then AC_CHECK_LIB([Xplugin],[xp_init],[:]) - CFLAGS="${CFLAGS} -DROOTLESS_WORKAROUND -DNO_ALLOCA" + CFLAGS="${CFLAGS} -DROOTLESS_WORKAROUND -DROOTLESS_SAFEALPHA -DNO_ALLOCA" PKG_CHECK_MODULES(XPBPROXY, [applewmproto >= 1.2] [applewm >= 1.2] xfixes fixesproto x11) diff --git a/doc/Xserver.man.pre b/doc/Xserver.man.pre index e2673f7be..12b4cd486 100644 --- a/doc/Xserver.man.pre +++ b/doc/Xserver.man.pre @@ -560,9 +560,6 @@ Outline font directories .I /tmp/.X11-unix/X\fBn\fP Unix domain socket for display number \fBn\fP .TP 30 -.IR /tmp/rcX\fBn\fP -Kerberos 5 replay cache for display number \fBn\fP -.TP 30 .I /usr/adm/X\fBn\fPmsgs Error log file for display number \fBn\fP if run from \fIinit\fP(__adminmansuffix__) .TP 30 diff --git a/glx/glxcmds.c b/glx/glxcmds.c index 1ae31515d..d4ff7daf3 100644 --- a/glx/glxcmds.c +++ b/glx/glxcmds.c @@ -28,7 +28,6 @@ * Silicon Graphics, Inc. */ -#define FONT_PCF #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif @@ -877,6 +876,14 @@ int __glXDisp_CopyContext(__GLXclientState *cl, GLbyte *pc) return Success; } +enum { + GLX_VIS_CONFIG_UNPAIRED = 18, + GLX_VIS_CONFIG_PAIRED = 20 +}; + +enum { + GLX_VIS_CONFIG_TOTAL = GLX_VIS_CONFIG_UNPAIRED + GLX_VIS_CONFIG_PAIRED +}; int __glXDisp_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc) { @@ -885,7 +892,7 @@ int __glXDisp_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc) xGLXGetVisualConfigsReply reply; __GLXscreen *pGlxScreen; __GLXconfig *modes; - CARD32 buf[__GLX_TOTAL_CONFIG]; + CARD32 buf[GLX_VIS_CONFIG_TOTAL]; int p, i, err; __GLX_DECLARE_SWAP_VARIABLES; __GLX_DECLARE_SWAP_ARRAY_VARIABLES; @@ -894,8 +901,8 @@ int __glXDisp_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc) return err; reply.numVisuals = pGlxScreen->numVisuals; - reply.numProps = __GLX_TOTAL_CONFIG; - reply.length = (reply.numVisuals * __GLX_SIZE_CARD32 * __GLX_TOTAL_CONFIG) >> 2; + reply.numProps = GLX_VIS_CONFIG_TOTAL; + reply.length = (reply.numVisuals * __GLX_SIZE_CARD32 * GLX_VIS_CONFIG_TOTAL) >> 2; reply.type = X_Reply; reply.sequenceNumber = client->sequence; @@ -933,6 +940,8 @@ int __glXDisp_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc) buf[p++] = modes->stencilBits; buf[p++] = modes->numAuxBuffers; buf[p++] = modes->level; + + assert(p == GLX_VIS_CONFIG_UNPAIRED); /* ** Add token/value pairs for extensions. */ @@ -957,11 +966,11 @@ int __glXDisp_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc) buf[p++] = 0; /* copy over visualSelectGroup (GLX_VISUAL_SELECT_GROUP_SGIX)? */ buf[p++] = 0; + assert(p == GLX_VIS_CONFIG_TOTAL); if (client->swapped) { - __GLX_SWAP_INT_ARRAY(buf, __GLX_TOTAL_CONFIG); + __GLX_SWAP_INT_ARRAY(buf, p); } - WriteToClient(client, __GLX_SIZE_CARD32 * __GLX_TOTAL_CONFIG, - (char *)buf); + WriteToClient(client, __GLX_SIZE_CARD32 * p, (char *)buf); } return Success; } diff --git a/glx/glxcmdsswap.c b/glx/glxcmdsswap.c index 4132b76bf..f1c0ce69f 100644 --- a/glx/glxcmdsswap.c +++ b/glx/glxcmdsswap.c @@ -28,7 +28,6 @@ * Silicon Graphics, Inc. */ -#define FONT_PCF #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff --git a/glx/glxscreens.c b/glx/glxscreens.c index 2b12049fb..3fff26866 100644 --- a/glx/glxscreens.c +++ b/glx/glxscreens.c @@ -225,7 +225,7 @@ glxGetScreen(ScreenPtr pScreen) } _X_EXPORT void GlxSetVisualConfigs(int nconfigs, - __GLXvisualConfig *configs, void **privates) + void *configs, void **privates) { /* We keep this stub around for the DDX drivers that still * call it. */ diff --git a/glx/glxserver.h b/glx/glxserver.h index a5ca0a20b..3e44b71fb 100644 --- a/glx/glxserver.h +++ b/glx/glxserver.h @@ -55,7 +55,6 @@ #define GL_GLEXT_PROTOTYPES /* we want prototypes */ #include <GL/gl.h> #include <GL/glxproto.h> -#include <GL/glxint.h> /* For glxscreens.h */ typedef struct __GLXdrawable __GLXdrawable; @@ -93,7 +92,7 @@ extern __GLXclientState *glxGetClient(ClientPtr pClient); void GlxExtensionInit(void); void GlxSetVisualConfigs(int nconfigs, - __GLXvisualConfig *configs, void **privates); + void *configs, void **privates); struct _glapi_table; void GlxSetRenderTables (struct _glapi_table *table); diff --git a/hw/dmx/glxProxy/glxcmds.c b/hw/dmx/glxProxy/glxcmds.c index f19239f31..31fd431e7 100644 --- a/hw/dmx/glxProxy/glxcmds.c +++ b/hw/dmx/glxProxy/glxcmds.c @@ -43,7 +43,6 @@ #undef Xrealloc #undef Xfree -#define FONT_PCF #include "glxserver.h" #include <GL/glxtokens.h> #include "g_disptab.h" diff --git a/hw/dmx/glxProxy/glxcmdsswap.c b/hw/dmx/glxProxy/glxcmdsswap.c index 702479f55..b3720f6f6 100644 --- a/hw/dmx/glxProxy/glxcmdsswap.c +++ b/hw/dmx/glxProxy/glxcmdsswap.c @@ -28,7 +28,6 @@ * Silicon Graphics, Inc. */ -#define FONT_PCF #include "glxserver.h" #include "glxutil.h" #include <GL/glxtokens.h> diff --git a/hw/dmx/glxProxy/glxutil.c b/hw/dmx/glxProxy/glxutil.c index 70f8b74bb..d0ce50486 100644 --- a/hw/dmx/glxProxy/glxutil.c +++ b/hw/dmx/glxProxy/glxutil.c @@ -28,7 +28,6 @@ * Silicon Graphics, Inc. */ -#define FONT_PCF #include "glxserver.h" #include <GL/glxtokens.h> #include <pixmapstr.h> diff --git a/hw/kdrive/linux/mouse.c b/hw/kdrive/linux/mouse.c index 02214b33e..6f399b586 100644 --- a/hw/kdrive/linux/mouse.c +++ b/hw/kdrive/linux/mouse.c @@ -961,7 +961,11 @@ MouseInit (KdPointerInfo *pi) km = (Kmouse *) xalloc (sizeof (Kmouse)); if (km) { km->iob.avail = km->iob.used = 0; - MouseFirstProtocol(km, "exps/2"); + MouseFirstProtocol(km, pi->protocol ? pi->protocol : "exps/2"); + /* MouseFirstProtocol sets state to MouseBroken for later protocol + * checks. Skip these checks if a protocol was supplied */ + if (pi->protocol) + km->state = MouseWorking; km->i_prot = 0; km->tty = isatty (fd); km->iob.fd = -1; diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h index c60559a89..ce47cf4fa 100644 --- a/hw/kdrive/src/kdrive.h +++ b/hw/kdrive/src/kdrive.h @@ -220,6 +220,7 @@ struct _KdPointerInfo { DeviceIntPtr dixdev; char *name; char *path; + char *protocol; InputOption *options; int inputClass; diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c index 0d216a9b8..360739cac 100644 --- a/hw/kdrive/src/kinput.c +++ b/hw/kdrive/src/kinput.c @@ -1166,6 +1166,8 @@ KdParsePointerOptions (KdPointerInfo *pi) pi->transformCoordinates = FALSE; else if (!strcasecmp (option->key, "device")) pi->path = strdup(option->value); + else if (!strcasecmp (option->key, "protocol")) + pi->protocol = strdup(option->value); else ErrorF("Pointer option key (%s) of value (%s) not assigned!\n", option->key, option->value); @@ -1186,6 +1188,7 @@ KdParsePointer (char *arg) return NULL; pi->emulateMiddleButton = kdEmulateMiddleButton; pi->transformCoordinates = !kdRawPointerCoordinates; + pi->protocol = NULL; pi->nButtons = 5; /* XXX should not be hardcoded */ pi->inputClass = KD_MOUSE; diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c index 8ab8bae64..b4b845593 100644 --- a/hw/vfb/InitOutput.c +++ b/hw/vfb/InitOutput.c @@ -863,8 +863,6 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) pbits = vfbAllocateFramebufferMemory(pvfb); if (!pbits) return FALSE; - miSetPixmapDepths (); - switch (pvfb->depth) { case 8: miSetVisualTypesAndMasks (8, @@ -876,20 +874,6 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) (1 << DirectColor)), 8, PseudoColor, 0, 0, 0); break; -#if 0 - /* 12bit PseudoColor with 12bit color resolution - * (to simulate SGI hardware and the 12bit PseudoColor emulation layer) */ - case 12: - miSetVisualTypesAndMasks (12, - ((1 << StaticGray) | - (1 << GrayScale) | - (1 << StaticColor) | - (1 << PseudoColor) | - (1 << TrueColor) | - (1 << DirectColor)), - 12, PseudoColor, 0, 0, 0); - break; -#endif case 15: miSetVisualTypesAndMasks (15, ((1 << TrueColor) | @@ -908,18 +892,10 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) (1 << DirectColor)), 8, TrueColor, 0xff0000, 0x00ff00, 0x0000ff); break; -#if 0 - /* 30bit TrueColor (to simulate Sun's XVR-1000/-4000 high quality - * framebuffer series) */ - case 30: - miSetVisualTypesAndMasks (30, - ((1 << TrueColor) | - (1 << DirectColor)), - 10, TrueColor, 0x3ff00000, 0x000ffc00, 0x000003ff); - break; -#endif } - + + miSetPixmapDepths (); + ret = fbScreenInit(pScreen, pbits, pvfb->width, pvfb->height, dpix, dpiy, pvfb->paddedWidth,pvfb->bitsPerPixel); #ifdef RENDER diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h index 0c0320fda..e49f28db0 100644 --- a/hw/xfree86/common/xf86.h +++ b/hw/xfree86/common/xf86.h @@ -277,10 +277,6 @@ extern _X_EXPORT pointer xf86LoadSubModule(ScrnInfoPtr pScrn, const char *name); extern _X_EXPORT pointer xf86LoadOneModule(char *name, pointer optlist); extern _X_EXPORT void xf86UnloadSubModule(pointer mod); extern _X_EXPORT Bool xf86LoaderCheckSymbol(const char *name); -extern _X_EXPORT void xf86LoaderReqSymLists(const char **, ...); -extern _X_EXPORT void xf86LoaderReqSymbols(const char *, ...); -extern _X_EXPORT void xf86LoaderRefSymLists(const char **, ...); -extern _X_EXPORT void xf86LoaderRefSymbols(const char *, ...); extern _X_EXPORT void xf86SetBackingStore(ScreenPtr pScreen); extern _X_EXPORT void xf86SetSilkenMouse(ScreenPtr pScreen); extern _X_EXPORT pointer xf86FindXvOptions(int scrnIndex, int adapt_index, char *port_name, @@ -315,9 +311,6 @@ extern _X_EXPORT int xf86RegisterRootWindowProperty(int ScrnIndex, Atom propert pointer value); extern _X_EXPORT Bool xf86IsUnblank(int mode); -extern _X_EXPORT _X_DEPRECATED void xf86AddModuleInfo(pointer info, pointer module); -extern _X_EXPORT _X_DEPRECATED void xf86DeleteModuleInfo(int idx); - /* xf86Init.c */ extern _X_EXPORT PixmapFormatPtr xf86GetPixFormat(ScrnInfoPtr pScrn, int depth); diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c index 441efb098..eac819b9c 100644 --- a/hw/xfree86/common/xf86Helper.c +++ b/hw/xfree86/common/xf86Helper.c @@ -169,17 +169,6 @@ xf86LookupInput(const char *name) return NULL; } -/* ABI stubs of despair */ -void -xf86AddModuleInfo(pointer info, pointer module) -{ -} - -void -xf86DeleteModuleInfo(int idx) -{ -} - /* Allocate a new ScrnInfoRec in xf86Screens */ ScrnInfoPtr @@ -2301,28 +2290,6 @@ xf86LoaderCheckSymbol(const char *name) return LoaderSymbol(name) != NULL; } -/* These two are just ABI stubs, they don't do anything in dlloader world */ -void -xf86LoaderReqSymLists(const char **list0, ...) -{ -} - -void -xf86LoaderReqSymbols(const char *sym0, ...) -{ -} - -void -xf86LoaderRefSymLists(const char **list0, ...) -{ -} - -void -xf86LoaderRefSymbols(const char *sym0, ...) -{ -} - - typedef enum { OPTION_BACKING_STORE } BSOpts; diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h index 993e29791..5d36cecff 100644 --- a/hw/xfree86/common/xf86Module.h +++ b/hw/xfree86/common/xf86Module.h @@ -194,10 +194,6 @@ extern _X_EXPORT char **LoaderListDirs(const char **, const char **); extern _X_EXPORT void LoaderFreeDirList(char **); extern _X_EXPORT void LoaderErrorMsg(const char *, const char *, int, int); extern _X_EXPORT void LoadExtension(ExtensionModule *, Bool); -extern _X_EXPORT void LoaderRefSymLists(const char **, ...); -extern _X_EXPORT void LoaderRefSymbols(const char *, ...); -extern _X_EXPORT void LoaderReqSymLists(const char **, ...); -extern _X_EXPORT void LoaderReqSymbols(const char *, ...); extern _X_EXPORT int LoaderCheckUnresolved(int); extern _X_EXPORT void LoaderGetOS(const char **name, int *major, int *minor, int *teeny); extern _X_EXPORT Bool LoaderShouldIgnoreABI(void); diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h index 904c369a6..3b1346f05 100644 --- a/hw/xfree86/common/xf86str.h +++ b/hw/xfree86/common/xf86str.h @@ -342,21 +342,6 @@ typedef struct _DriverRec { */ #define HaveDriverFuncs 1 - -/* - * The optional module list struct. This allows modules exporting helping - * functions to configuration tools, the Xserver, or any other - * application/module interested in such information. - */ -_X_DEPRECATED typedef struct _ModuleInfoRec { - int moduleVersion; - char * moduleName; - pointer module; - int refCount; - const OptionInfoRec * (*AvailableOptions)(void *unused); - pointer unused[8]; /* leave some space for more fields */ -} ModuleInfoRec, *ModuleInfoPtr; - /* * These are the private bus types. New types can be added here. Types * required for the public interface should be added to xf86str.h, with diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c index 1803d0eb1..47c8c2e7f 100644 --- a/hw/xfree86/loader/loader.c +++ b/hw/xfree86/loader/loader.c @@ -159,27 +159,6 @@ LoaderInit(void) #endif } -/* These four are just ABI stubs */ -void -LoaderRefSymbols(const char *sym0, ...) -{ -} - -void -LoaderRefSymLists(const char **list0, ...) -{ -} - -void -LoaderReqSymLists(const char **list0, ...) -{ -} - -void -LoaderReqSymbols(const char *sym0, ...) -{ -} - /* Public Interface to the loader. */ int diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c index 353b26874..0ab2f3df9 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -353,7 +353,7 @@ xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotati } /* Only upload when needed, to avoid unneeded delays. */ - if (crtc->active) + if (!crtc->active) crtc->funcs->gamma_set(crtc, crtc->gamma_red, crtc->gamma_green, crtc->gamma_blue, crtc->gamma_size); diff --git a/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib index d27162539..38b00183c 100644 --- a/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib +++ b/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib @@ -2,9 +2,9 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">9G55</string> + <string key="IBDocument.SystemVersion">9J61</string> <string key="IBDocument.InterfaceBuilderVersion">677</string> - <string key="IBDocument.AppKitVersion">949.43</string> + <string key="IBDocument.AppKitVersion">949.46</string> <string key="IBDocument.HIToolboxVersion">353.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -857,7 +857,7 @@ Lg</string> <object class="NSButtonCell" key="NSCell" id="501304422"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Update CLIPBOARD when Pasteboard changes.</string> + <string key="NSContents">Update CLIPBOARD when Pasteboard changes</string> <reference key="NSSupport" ref="463863101"/> <reference key="NSControlView" ref="477050998"/> <int key="NSButtonFlags">1211912703</int> @@ -878,7 +878,7 @@ Lg</string> <object class="NSButtonCell" key="NSCell" id="510771323"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Update PRIMARY (middle-click) when Pasteboard changes.</string> + <string key="NSContents">Update PRIMARY (middle-click) when Pasteboard changes</string> <reference key="NSSupport" ref="463863101"/> <reference key="NSControlView" ref="765780304"/> <int key="NSButtonFlags">1211912703</int> @@ -899,7 +899,7 @@ Lg</string> <object class="NSButtonCell" key="NSCell" id="897099877"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Update Pasteboard immediately when new text is selected.</string> + <string key="NSContents">Update Pasteboard immediately when new text is selected</string> <reference key="NSSupport" ref="463863101"/> <reference key="NSControlView" ref="1002778833"/> <int key="NSButtonFlags">1211912703</int> @@ -920,7 +920,7 @@ Lg</string> <object class="NSButtonCell" key="NSCell" id="619977658"> <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Update Pasteboard when CLIPBOARD changes.</string> + <string key="NSContents">Update Pasteboard when CLIPBOARD changes</string> <reference key="NSSupport" ref="463863101"/> <reference key="NSControlView" ref="487809555"/> <int key="NSButtonFlags">1211912703</int> diff --git a/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib Binary files differindex ee6cdf25e..516508961 100644 --- a/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib +++ b/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib diff --git a/mi/miexpose.c b/mi/miexpose.c index 2c43d9824..6ce56ee85 100644 --- a/mi/miexpose.c +++ b/mi/miexpose.c @@ -522,7 +522,7 @@ void miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) { ScreenPtr pScreen = pWin->drawable.pScreen; - ChangeGCVal gcval[5]; + ChangeGCVal gcval[6]; BITS32 gcmask; GCPtr pGC; int i; @@ -590,18 +590,35 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) gcval[0].val = GXcopy; gcmask = GCFunction; +#ifdef ROOTLESS_SAFEALPHA +/* Bit mask for alpha channel with a particular number of bits per + * pixel. Note that we only care for 32bpp data. Mac OS X uses planar + * alpha for 16bpp. + */ +#define RootlessAlphaMask(bpp) ((bpp) == 32 ? 0xFF000000 : 0) +#endif + if (solid) { +#ifdef ROOTLESS_SAFEALPHA + gcval[1].val = fill.pixel | RootlessAlphaMask(pWin->drawable.bitsPerPixel); +#else gcval[1].val = fill.pixel; +#endif gcval[2].val = FillSolid; gcmask |= GCForeground | GCFillStyle; } else { - gcval[1].val = FillTiled; - gcval[2].ptr = (pointer)fill.pixmap; - gcval[3].val = tile_x_off; - gcval[4].val = tile_y_off; + int c=1; +#ifdef ROOTLESS_SAFEALPHA + gcval[c++].val = ((CARD32)-1) & ~RootlessAlphaMask(pWin->drawable.bitsPerPixel); + gcmask |= GCPlaneMask; +#endif + gcval[c++].val = FillTiled; + gcval[c++].ptr = (pointer)fill.pixmap; + gcval[c++].val = tile_x_off; + gcval[c++].val = tile_y_off; gcmask |= GCFillStyle | GCTile | GCTileStipXOrigin | GCTileStipYOrigin; } diff --git a/miext/rootless/rootlessScreen.c b/miext/rootless/rootlessScreen.c index 75dd43994..88d38698b 100644 --- a/miext/rootless/rootlessScreen.c +++ b/miext/rootless/rootlessScreen.c @@ -481,8 +481,7 @@ static void expose_1 (WindowPtr pWin) { if (!pWin->realized) return; - (*pWin->drawable.pScreen->PaintWindowBackground) (pWin, &pWin->borderClip, - PW_BACKGROUND); + miPaintWindow(pWin, &pWin->borderClip, PW_BACKGROUND); /* FIXME: comments in windowstr.h indicate that borderClip doesn't include subwindow visibility. But I'm not so sure.. so we may |