mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-05 05:18:25 +02:00
Merge commit 'origin/server-1.7-branch' into xorg-server-1.7-apple
This commit is contained in:
commit
7e06166001
12 changed files with 88 additions and 62 deletions
|
|
@ -238,7 +238,6 @@ static CompAlternateVisual altVisuals[] = {
|
|||
{ 24, PICT_r8g8b8 },
|
||||
#endif
|
||||
{ 32, PICT_a8r8g8b8 },
|
||||
{ 32, PICT_b8g8r8a8 },
|
||||
};
|
||||
|
||||
static const int NUM_COMP_ALTERNATE_VISUALS = sizeof(altVisuals) /
|
||||
|
|
@ -267,8 +266,7 @@ compAddAlternateVisual(ScreenPtr pScreen, CompScreenPtr cs,
|
|||
return TRUE;
|
||||
|
||||
pPictFormat = PictureMatchFormat (pScreen, alt->depth, alt->format);
|
||||
if (!pPictFormat ||
|
||||
pPictFormat->direct.red != pScreen->visuals[0].offsetRed)
|
||||
if (!pPictFormat)
|
||||
return FALSE;
|
||||
|
||||
if (ResizeVisualArray(pScreen, 1, depth) == FALSE) {
|
||||
|
|
|
|||
31
configure.ac
31
configure.ac
|
|
@ -26,8 +26,8 @@ dnl
|
|||
dnl Process this file with autoconf to create configure.
|
||||
|
||||
AC_PREREQ(2.57)
|
||||
AC_INIT([xorg-server], 1.7.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
|
||||
RELEASE_DATE="2009-10-2"
|
||||
AC_INIT([xorg-server], 1.7.0.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
|
||||
RELEASE_DATE="2009-10-12"
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
AM_INIT_AUTOMAKE([dist-bzip2 foreign])
|
||||
AM_MAINTAINER_MODE
|
||||
|
|
@ -102,8 +102,20 @@ fi
|
|||
if test "x$WDTRACE" != "xno" ; then
|
||||
AC_DEFINE(XSERVER_DTRACE, 1,
|
||||
[Define to 1 if the DTrace Xserver provider probes should be built in.])
|
||||
|
||||
# Solaris/OpenSolaris require dtrace -G to build dtrace probe information into
|
||||
# object files, and require linking with those as relocatable objects, not .a
|
||||
# archives. MacOS X handles all this in the normal compiler toolchain, and on
|
||||
# some releases (like Tiger), will error out on dtrace -G. For now, other
|
||||
# platforms with Dtrace ports are assumed to support -G (the FreeBSD and Linux
|
||||
# ports appear to, based on my web searches, but have not yet been tested).
|
||||
case $host_os in
|
||||
darwin*) SPECIAL_DTRACE_OBJECTS=no ;;
|
||||
*) SPECIAL_DTRACE_OBJECTS=yes ;;
|
||||
esac
|
||||
fi
|
||||
AM_CONDITIONAL(XSERVER_DTRACE, [test "x$WDTRACE" != "xno"])
|
||||
AM_CONDITIONAL(SPECIAL_DTRACE_OBJECTS, [test "x$SPECIAL_DTRACE_OBJECTS" = "xyes"])
|
||||
|
||||
AC_HEADER_DIRENT
|
||||
AC_HEADER_STDC
|
||||
|
|
@ -701,6 +713,7 @@ case $host_os in
|
|||
XF86VIDMODE=no
|
||||
fi
|
||||
;;
|
||||
*) XQUARTZ=no ;;
|
||||
esac
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
|
@ -734,11 +747,13 @@ REQUIRED_LIBS="xfont xau [pixman-1 >= 0.15.20]"
|
|||
|
||||
dnl List of libraries that require a specific version
|
||||
LIBAPPLEWM="applewm >= 1.4"
|
||||
LIBDMX="dmx >= 1.0.99.1"
|
||||
LIBDRI="dri >= 7.1.0"
|
||||
LIBDRM="libdrm >= 2.3.0"
|
||||
LIBGL="gl >= 7.1.0"
|
||||
LIBXEXT="xext >= 1.0.99.4"
|
||||
LIBXI="xi >= 1.2.99.1"
|
||||
LIBXTST="xtst >= 1.0.99.2"
|
||||
LIBPCIACCESS="pciaccess >= 0.8.0"
|
||||
LIBGLIB="glib-2.0 >= 2.16"
|
||||
|
||||
|
|
@ -1244,13 +1259,15 @@ AC_DEFINE(XSYNC, 1, [Support XSync extension])
|
|||
AC_DEFINE(XCMISC, 1, [Support XCMisc extension])
|
||||
AC_DEFINE(BIGREQS, 1, [Support BigRequests extension])
|
||||
|
||||
if test "x$WDTRACE" != "xno" && test "x$XQUARTZ" = "xno"; then
|
||||
if test "x$SPECIAL_DTRACE_OBJECTS" = "xyes" ; then
|
||||
DIX_LIB='$(top_builddir)/dix/dix.O'
|
||||
OS_LIB='$(top_builddir)/os/os.O'
|
||||
else
|
||||
DIX_LIB='$(top_builddir)/dix/libdix.la'
|
||||
OS_LIB='$(top_builddir)/os/libos.la'
|
||||
fi
|
||||
AC_SUBST([DIX_LIB])
|
||||
AC_SUBST([OS_LIB])
|
||||
|
||||
MAIN_LIB='$(top_builddir)/dix/libmain.la'
|
||||
AC_SUBST([MAIN_LIB])
|
||||
|
|
@ -1817,13 +1834,13 @@ dnl Linux sources in DMX require <linux/keyboard.h>
|
|||
PKG_CHECK_MODULES([XDMXCONFIG_DEP], [xaw7 xmu xt xpm x11])
|
||||
AC_SUBST(XDMXCONFIG_DEP_CFLAGS)
|
||||
AC_SUBST(XDMXCONFIG_DEP_LIBS)
|
||||
PKG_CHECK_MODULES([DMXEXAMPLES_DEP], [dmx $LIBXEXT x11])
|
||||
PKG_CHECK_MODULES([DMXEXAMPLES_DEP], [$LIBDMX $LIBXEXT x11])
|
||||
AC_SUBST(DMXEXAMPLES_DEP_LIBS)
|
||||
PKG_CHECK_MODULES([DMXXMUEXAMPLES_DEP], [dmx xmu $LIBXEXT x11])
|
||||
PKG_CHECK_MODULES([DMXXMUEXAMPLES_DEP], [$LIBDMX xmu $LIBXEXT x11])
|
||||
AC_SUBST(DMXXMUEXAMPLES_DEP_LIBS)
|
||||
PKG_CHECK_MODULES([DMXXIEXAMPLES_DEP], [dmx $LIBXI $LIBXEXT x11])
|
||||
PKG_CHECK_MODULES([DMXXIEXAMPLES_DEP], [$LIBDMX $LIBXI $LIBXEXT x11])
|
||||
AC_SUBST(DMXXIEXAMPLES_DEP_LIBS)
|
||||
PKG_CHECK_MODULES([XTSTEXAMPLES_DEP], [xtst $LIBXEXT x11])
|
||||
PKG_CHECK_MODULES([XTSTEXAMPLES_DEP], [$LIBXTST $LIBXEXT x11])
|
||||
AC_SUBST(XTSTEXAMPLES_DEP_LIBS)
|
||||
PKG_CHECK_MODULES([XRESEXAMPLES_DEP], [xres $LIBXEXT x11])
|
||||
AC_SUBST(XRESEXAMPLES_DEP_LIBS)
|
||||
|
|
|
|||
|
|
@ -54,16 +54,17 @@ Xserver-dtrace.h: $(srcdir)/Xserver.d
|
|||
$(DTRACE) -C -h -o $@ -s $(srcdir)/Xserver.d \
|
||||
|| cp Xserver-dtrace.h.in $@
|
||||
|
||||
if !XQUARTZ
|
||||
endif
|
||||
|
||||
if SPECIAL_DTRACE_OBJECTS
|
||||
# Generate dtrace object code for probes in libdix
|
||||
dtrace-dix.o: $(top_srcdir)/dix/Xserver.d $(am_libdix_la_OBJECTS)
|
||||
$(DTRACE) -G -C -o $@ -s $(top_srcdir)/dix/Xserver.d .libs/*.o
|
||||
$(DTRACE) -G -C -o $@ -s $(top_srcdir)/dix/Xserver.d $(am_libdix_la_OBJECTS:%.lo=.libs/%.o)
|
||||
|
||||
noinst_PROGRAMS = dix.O
|
||||
|
||||
dix.O: dtrace-dix.o $(am_libdix_la_OBJECTS)
|
||||
ld -r -o $@ .libs/*.o
|
||||
endif
|
||||
ld -r -o $@ $(am_libdix_la_OBJECTS:%.lo=.libs/%.o)
|
||||
endif
|
||||
|
||||
dix.c:
|
||||
|
|
|
|||
|
|
@ -1046,7 +1046,7 @@ doListFontsWithInfo(ClientPtr client, LFWIclosurePtr c)
|
|||
err = AllocError;
|
||||
break;
|
||||
}
|
||||
memset(reply + c->length, 0, length - c->length);
|
||||
memset((char*)reply + c->length, 0, length - c->length);
|
||||
c->reply = reply;
|
||||
c->length = length;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -185,41 +185,56 @@ exaGetRGBAFromPixel(CARD32 pixel,
|
|||
CARD16 *green,
|
||||
CARD16 *blue,
|
||||
CARD16 *alpha,
|
||||
PictFormatPtr pFormat)
|
||||
PictFormatPtr pFormat,
|
||||
PictFormatShort format)
|
||||
{
|
||||
int rbits, bbits, gbits, abits;
|
||||
int rshift, bshift, gshift, ashift;
|
||||
|
||||
if (!PICT_FORMAT_COLOR(pFormat->format) &&
|
||||
PICT_FORMAT_TYPE(pFormat->format) != PICT_TYPE_A)
|
||||
if (!PICT_FORMAT_COLOR(format) && PICT_FORMAT_TYPE(format) != PICT_TYPE_A)
|
||||
return FALSE;
|
||||
|
||||
rbits = PICT_FORMAT_R(pFormat->format);
|
||||
gbits = PICT_FORMAT_G(pFormat->format);
|
||||
bbits = PICT_FORMAT_B(pFormat->format);
|
||||
abits = PICT_FORMAT_A(pFormat->format);
|
||||
rbits = PICT_FORMAT_R(format);
|
||||
gbits = PICT_FORMAT_G(format);
|
||||
bbits = PICT_FORMAT_B(format);
|
||||
abits = PICT_FORMAT_A(format);
|
||||
|
||||
rshift = pFormat->direct.red;
|
||||
gshift = pFormat->direct.green;
|
||||
bshift = pFormat->direct.blue;
|
||||
ashift = pFormat->direct.alpha;
|
||||
if (pFormat) {
|
||||
rshift = pFormat->direct.red;
|
||||
gshift = pFormat->direct.green;
|
||||
bshift = pFormat->direct.blue;
|
||||
ashift = pFormat->direct.alpha;
|
||||
} else if (format == PICT_a8r8g8b8) {
|
||||
rshift = 16;
|
||||
gshift = 8;
|
||||
bshift = 0;
|
||||
ashift = 24;
|
||||
} else
|
||||
FatalError("EXA bug: exaGetRGBAFromPixel() doesn't match "
|
||||
"createSourcePicture()\n");
|
||||
|
||||
*red = ((pixel >> rshift ) & ((1 << rbits) - 1)) << (16 - rbits);
|
||||
while (rbits < 16) {
|
||||
*red |= *red >> rbits;
|
||||
rbits <<= 1;
|
||||
}
|
||||
if (rbits) {
|
||||
*red = ((pixel >> rshift ) & ((1 << rbits) - 1)) << (16 - rbits);
|
||||
while (rbits < 16) {
|
||||
*red |= *red >> rbits;
|
||||
rbits <<= 1;
|
||||
}
|
||||
|
||||
*green = ((pixel >> gshift ) & ((1 << gbits) - 1)) << (16 - gbits);
|
||||
while (gbits < 16) {
|
||||
*green |= *green >> gbits;
|
||||
gbits <<= 1;
|
||||
}
|
||||
*green = ((pixel >> gshift ) & ((1 << gbits) - 1)) << (16 - gbits);
|
||||
while (gbits < 16) {
|
||||
*green |= *green >> gbits;
|
||||
gbits <<= 1;
|
||||
}
|
||||
|
||||
*blue = ((pixel >> bshift ) & ((1 << bbits) - 1)) << (16 - bbits);
|
||||
while (bbits < 16) {
|
||||
*blue |= *blue >> bbits;
|
||||
bbits <<= 1;
|
||||
*blue = ((pixel >> bshift ) & ((1 << bbits) - 1)) << (16 - bbits);
|
||||
while (bbits < 16) {
|
||||
*blue |= *blue >> bbits;
|
||||
bbits <<= 1;
|
||||
}
|
||||
} else {
|
||||
*red = 0x0000;
|
||||
*green = 0x0000;
|
||||
*blue = 0x0000;
|
||||
}
|
||||
|
||||
if (abits) {
|
||||
|
|
@ -287,7 +302,7 @@ exaTryDriverSolidFill(PicturePtr pSrc,
|
|||
pixel = pSrc->pSourcePict->solidFill.color;
|
||||
|
||||
if (!exaGetRGBAFromPixel(pixel, &red, &green, &blue, &alpha,
|
||||
pSrc->pFormat) ||
|
||||
pSrc->pFormat, pSrc->format) ||
|
||||
!exaGetPixelFromRGBA(&pixel, red, green, blue, alpha,
|
||||
pDst->pFormat))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ BUILT_SOURCES = xorg.conf.example
|
|||
DISTCLEANFILES += xorg.conf.example xorg.conf.example.pre
|
||||
EXTRA_DIST = xorgconf.cpp
|
||||
|
||||
if XSERVER_DTRACE
|
||||
if SPECIAL_DTRACE_OBJECTS
|
||||
# Re-add dtrace object code that gets lost when building static libraries
|
||||
Xorg_LDADD += $(XSERVER_LIBS)
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -896,11 +896,6 @@ xf86PostKeyEvent(DeviceIntPtr device,
|
|||
int i = 0;
|
||||
static int valuators[MAX_VALUATORS];
|
||||
|
||||
/* instil confidence in the user */
|
||||
DebugF("this function has never been tested properly. if things go quite "
|
||||
"badly south after this message, then xf86PostKeyEvent is "
|
||||
"broken.\n");
|
||||
|
||||
XI_VERIFY_VALUATORS(num_valuators);
|
||||
|
||||
va_start(var, num_valuators);
|
||||
|
|
@ -924,11 +919,6 @@ xf86PostKeyEventP(DeviceIntPtr device,
|
|||
{
|
||||
int i = 0, nevents = 0;
|
||||
|
||||
/* instil confidence in the user */
|
||||
DebugF("this function has never been tested properly. if things go quite "
|
||||
"badly south after this message, then xf86PostKeyEvent is "
|
||||
"broken.\n");
|
||||
|
||||
XI_VERIFY_VALUATORS(num_valuators);
|
||||
|
||||
if (is_absolute) {
|
||||
|
|
|
|||
|
|
@ -41,8 +41,7 @@ endif
|
|||
EXTRA_DIST = $(SECURERPC_SRCS) $(INTERNALMALLOC_SRCS) \
|
||||
$(XDMCP_SRCS) $(STRLCAT_SRCS)
|
||||
|
||||
if !XQUARTZ
|
||||
if XSERVER_DTRACE
|
||||
if SPECIAL_DTRACE_OBJECTS
|
||||
# Generate dtrace object code for probes in libos & libdix
|
||||
dtrace.o: $(top_srcdir)/dix/Xserver.d $(am_libos_la_OBJECTS)
|
||||
$(DTRACE) -G -C -o $@ -s $(top_srcdir)/dix/Xserver.d .libs/*.o ../dix/.libs/*.o
|
||||
|
|
@ -52,7 +51,6 @@ noinst_PROGRAMS = os.O
|
|||
os.O: dtrace.o $(am_libos_la_OBJECTS)
|
||||
ld -r -o $@ dtrace.o .libs/*.o
|
||||
endif
|
||||
endif
|
||||
|
||||
os.c:
|
||||
touch $@
|
||||
|
|
|
|||
|
|
@ -318,14 +318,14 @@ miClipPictureSrc (RegionPtr pRegion,
|
|||
Bool result;
|
||||
|
||||
pixman_region_translate ( pPicture->clientClip,
|
||||
pPicture->clipOrigin.x - dx,
|
||||
pPicture->clipOrigin.y - dy);
|
||||
pPicture->clipOrigin.x + dx,
|
||||
pPicture->clipOrigin.y + dy);
|
||||
|
||||
result = REGION_INTERSECT (pScreen, pRegion, pRegion, pPicture->clientClip);
|
||||
|
||||
pixman_region_translate ( pPicture->clientClip,
|
||||
- (pPicture->clipOrigin.x - dx),
|
||||
- (pPicture->clipOrigin.y - dy));
|
||||
- (pPicture->clipOrigin.x + dx),
|
||||
- (pPicture->clipOrigin.y + dy));
|
||||
|
||||
if (!result)
|
||||
return FALSE;
|
||||
|
|
|
|||
|
|
@ -9,6 +9,10 @@ AM_CFLAGS = $(DIX_CFLAGS) $(GLIB_CFLAGS) @XORG_CFLAGS@
|
|||
INCLUDES = @XORG_INCS@
|
||||
TEST_LDADD=libxservertest.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS) $(GLIB_LIBS)
|
||||
|
||||
if SPECIAL_DTRACE_OBJECTS
|
||||
TEST_LDADD += $(OS_LIB) $(DIX_LIB)
|
||||
endif
|
||||
|
||||
xkb_LDADD=$(TEST_LDADD)
|
||||
input_LDADD=$(TEST_LDADD)
|
||||
xtest_LDADD=$(TEST_LDADD)
|
||||
|
|
|
|||
|
|
@ -17,6 +17,10 @@ INCLUDES = @XORG_INCS@
|
|||
TEST_LDADD=../libxservertest.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS) $(GLIB_LIBS)
|
||||
COMMON_SOURCES=protocol-common.h protocol-common.c
|
||||
|
||||
if SPECIAL_DTRACE_OBJECTS
|
||||
TEST_LDADD += $(OS_LIB) $(DIX_LIB)
|
||||
endif
|
||||
|
||||
protocol_xiqueryversion_LDADD=$(TEST_LDADD)
|
||||
protocol_xiquerydevice_LDADD=$(TEST_LDADD)
|
||||
protocol_xiselectevents_LDADD=$(TEST_LDADD)
|
||||
|
|
|
|||
|
|
@ -158,10 +158,9 @@ OutputDirectory(
|
|||
size_t size)
|
||||
{
|
||||
#ifndef WIN32
|
||||
if (getuid() == 0 && (strlen(XKM_OUTPUT_DIR) < size))
|
||||
/* Can we write an xkm and then open it too? */
|
||||
if (access(XKM_OUTPUT_DIR, W_OK | X_OK) == 0 && (strlen(XKM_OUTPUT_DIR) < size))
|
||||
{
|
||||
/* if server running as root it *may* be able to write */
|
||||
/* FIXME: check whether directory is writable at all */
|
||||
(void) strcpy (outdir, XKM_OUTPUT_DIR);
|
||||
} else
|
||||
#else
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue