Merge branch 'master' into xi2
This commit is contained in:
commit
6de67d3206
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
* Silicon Graphics, Inc.
|
||||
*/
|
||||
|
||||
#define FONT_PCF
|
||||
#ifdef HAVE_DIX_CONFIG_H
|
||||
#include <dix-config.h>
|
||||
#endif
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -43,7 +43,6 @@
|
|||
#undef Xrealloc
|
||||
#undef Xfree
|
||||
|
||||
#define FONT_PCF
|
||||
#include "glxserver.h"
|
||||
#include <GL/glxtokens.h>
|
||||
#include "g_disptab.h"
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
* Silicon Graphics, Inc.
|
||||
*/
|
||||
|
||||
#define FONT_PCF
|
||||
#include "glxserver.h"
|
||||
#include "glxutil.h"
|
||||
#include <GL/glxtokens.h>
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
* Silicon Graphics, Inc.
|
||||
*/
|
||||
|
||||
#define FONT_PCF
|
||||
#include "glxserver.h"
|
||||
#include <GL/glxtokens.h>
|
||||
#include <pixmapstr.h>
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -220,6 +220,7 @@ struct _KdPointerInfo {
|
|||
DeviceIntPtr dixdev;
|
||||
char *name;
|
||||
char *path;
|
||||
char *protocol;
|
||||
InputOption *options;
|
||||
int inputClass;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
Binary file not shown.
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user