Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug

This commit is contained in:
Daniel Stone
2006-09-24 17:56:43 +03:00
committed by Daniel Stone
24 changed files with 486 additions and 237 deletions

View File

@@ -16,6 +16,9 @@ GLX_INCS = -I$(top_srcdir)/hw/xfree86/dixmods/extmod \
GLX_DEFS = @GL_CFLAGS@
endif
# It's essential that fbcmap.c be compiled with this flag for DMX to work!!
DMX_CFLAGS = -DXFree86Server=1
if BUILDDOCS
SUBDIRS += doc
endif
@@ -86,6 +89,7 @@ Xdmx_CFLAGS = \
$(DIX_CFLAGS) \
$(GLX_INCS) \
$(GLX_DEFS) \
$(DMX_CFLAGS) \
@DMXMODULES_CFLAGS@
# Man page

View File

@@ -40,6 +40,7 @@
#endif
#include "dmx.h"
#include "dmxlog.h"
#include "dmxsync.h"
#include "dmxcmap.h"
#include "dmxvisual.h"
@@ -83,12 +84,18 @@ Bool dmxBECreateColormap(ColormapPtr pColormap)
VisualPtr pVisual = pColormap->pVisual;
Visual *visual = dmxLookupVisual(pScreen, pVisual);
pCmapPriv->cmap = XCreateColormap(dmxScreen->beDisplay,
dmxScreen->scrnWin,
visual,
(pVisual->class & DynamicClass ?
AllocAll : AllocNone));
return (pCmapPriv->cmap != 0);
if (visual) {
pCmapPriv->cmap = XCreateColormap(dmxScreen->beDisplay,
dmxScreen->scrnWin,
visual,
(pVisual->class & DynamicClass ?
AllocAll : AllocNone));
return (pCmapPriv->cmap != 0);
}
else {
dmxLog(dmxWarning, "dmxBECreateColormap: No visual found\n");
return 0;
}
}
/** Create colormap on back-end server associated with \a pColormap's

View File

@@ -664,8 +664,8 @@ static Bool _dmxUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor)
{
DMXScreenInfo *dmxScreen = &dmxScreens[pScreen->myNum];
DMXDBG3("_dmxUnrealizeCursor(%d,%p) %p\n",
pScreen->myNum, pCursor, pCursorPriv);
DMXDBG2("_dmxUnrealizeCursor(%d,%p)\n",
pScreen->myNum, pCursor);
if (dmxScreen->beDisplay) {
if (dmxBEFreeCursor(pScreen, pCursor))

View File

@@ -2,12 +2,16 @@ if DRI
DRI_SUBDIR = dri
endif
if XF86UTILS
XF86UTILS_SUBDIR = utils
endif
DOC_SUBDIR = doc
SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support parser rac \
ramdac shadowfb vbe vgahw xaa xf1bpp xf4bpp xf8_16bpp \
xf8_32bpp loader scanpci dixmods exa \
$(DRI_SUBDIR) utils $(DOC_SUBDIR)
$(DRI_SUBDIR) $(XF86UTILS_SUBDIR) $(DOC_SUBDIR)
DIST_SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support \
parser rac ramdac shadowfb vbe vgahw xaa xf1bpp xf4bpp \

View File

@@ -83,7 +83,13 @@ static pciBusFuncs_t linuxFuncs0 = {
/* pciAddrBusToHost */ linuxPpcBusAddrToHostAddr,
#else
/* pciAddrHostToBus */ pciAddrNOOP,
/* linuxTransAddrBusToHost is busted on sparc64 but the PCI rework tree
* makes it all moot, so we kludge it for now */
#if defined(__sparc__)
/* pciAddrBusToHost */ pciAddrNOOP,
#else
/* pciAddrBusToHost */ linuxTransAddrBusToHost,
#endif /* __sparc64__ */
#endif
/* pciControlBridge */ NULL,

View File

@@ -1,5 +1,8 @@
if INSTALL_LIBXF86CONFIG
lib_LIBRARIES = libxf86config.a
LIBHEADERS = \
xf86Optrec.h \
xf86Parser.h
else
noinst_LIBRARIES = libxf86config.a
endif
@@ -31,3 +34,6 @@ EXTRA_DIST = \
xf86Parser.h \
xf86tokens.h \
cpconfig.c
sdk_HEADERS = \
$(LIBHEADERS)

View File

@@ -675,7 +675,7 @@ xf86printMonitorSection (FILE * cf, XF86ConfMonitorPtr ptr)
ptr->mon_width,
ptr->mon_height);
if ( ptr->mon_n_hsync || ptr->mon_n_vrefresh )
fprintf(cf," ### Comment all HorizSync and VertSync values to use DDC:\n");
fprintf(cf," ### Comment all HorizSync and VertRefresh values to use DDC:\n");
for (i = 0; i < ptr->mon_n_hsync; i++)
{
fprintf (cf, "\tHorizSync %2.1f - %2.1f\n",

View File

@@ -157,9 +157,128 @@ xf86strToUL (char *str)
return (tot);
}
/*
* xf86getNextLine --
*
* read from the configFile FILE stream until we encounter a new
* line; this is effectively just a big wrapper for fgets(3).
*
* xf86getToken() assumes that we will read up to the next
* newline; we need to grow configBuf and configRBuf as needed to
* support that.
*/
static char*
xf86getNextLine(void)
{
static int configBufLen = CONFIG_BUF_LEN;
char *tmpConfigBuf, *tmpConfigRBuf;
int c, i, pos = 0, eolFound = 0;
char *ret = NULL;
/*
* reallocate the string if it was grown last time (i.e., is no
* longer CONFIG_BUF_LEN); we malloc the new strings first, so
* that if either of the mallocs fail, we can fall back on the
* existing buffer allocations
*/
if (configBufLen != CONFIG_BUF_LEN) {
tmpConfigBuf = xf86confmalloc(CONFIG_BUF_LEN);
tmpConfigRBuf = xf86confmalloc(CONFIG_BUF_LEN);
if (!tmpConfigBuf || !tmpConfigRBuf) {
/*
* at least one of the mallocs failed; keep the old buffers
* and free any partial allocations
*/
xf86conffree(tmpConfigBuf);
xf86conffree(tmpConfigRBuf);
} else {
/*
* malloc succeeded; free the old buffers and use the new
* buffers
*/
configBufLen = CONFIG_BUF_LEN;
xf86conffree(configBuf);
xf86conffree(configRBuf);
configBuf = tmpConfigBuf;
configRBuf = tmpConfigRBuf;
}
}
/* read in another block of chars */
do {
ret = fgets(configBuf + pos, configBufLen - pos - 1, configFile);
if (!ret) break;
/* search for EOL in the new block of chars */
for (i = pos; i < (configBufLen - 1); i++) {
c = configBuf[i];
if (c == '\0') break;
if ((c == '\n') || (c == '\r')) {
eolFound = 1;
break;
}
}
/*
* if we didn't find EOL, then grow the string and
* read in more
*/
if (!eolFound) {
tmpConfigBuf = xf86confrealloc(configBuf, configBufLen + CONFIG_BUF_LEN);
tmpConfigRBuf = xf86confrealloc(configRBuf, configBufLen + CONFIG_BUF_LEN);
if (!tmpConfigBuf || !tmpConfigRBuf) {
/*
* at least one of the reallocations failed; use the
* new allocation that succeeded, but we have to
* fallback to the previous configBufLen size and use
* the string we have, even though we don't have an
* EOL
*/
if (tmpConfigBuf) configBuf = tmpConfigBuf;
if (tmpConfigRBuf) configRBuf = tmpConfigRBuf;
break;
} else {
/* reallocation succeeded */
configBuf = tmpConfigBuf;
configRBuf = tmpConfigRBuf;
pos = i;
configBufLen += CONFIG_BUF_LEN;
}
}
} while (!eolFound);
return (ret);
}
/*
* xf86getToken --
* Read next Token form the config file. Handle the global variable
* Read next Token from the config file. Handle the global variable
* pushToken.
*/
int
@@ -193,7 +312,7 @@ again:
{
char *ret;
if (configFile)
ret = fgets (configBuf, CONFIG_BUF_LEN - 1, configFile);
ret = xf86getNextLine();
else {
if (builtinConfig[builtinIndex] == NULL)
ret = NULL;

View File

@@ -1,4 +1,4 @@
module_LIBRARIES = librac.a
noinst_LIBRARIES = librac.a
librac_a_SOURCES = xf86RAC.c
sdk_HEADERS = xf86RAC.h

View File

@@ -1,3 +1,4 @@
xpcdir = @xpconfigdir@/C/print/models/PS2PDFspooldir-GS
dist_xpc_DATA = model-config ps2pdf_spooltodir.sh
dist_xpc_DATA = model-config
dist_xpc_SCRIPTS = ps2pdf_spooltodir.sh

View File

@@ -1,3 +1,4 @@
xpcdir = @xpconfigdir@/C/print/models/PSspooldir
dist_xpc_DATA = model-config spooltodir.sh
dist_xpc_DATA = model-config
dist_xpc_SCRIPTS = spooltodir.sh

View File

@@ -709,4 +709,4 @@ install-data-local: remove-links
uninstall-hook: remove-links
EXTRA_DIST = README
dist_xpconfig_DATA = README

View File

@@ -4,7 +4,7 @@
applications to use devices like printers, FAX or create
documents in formats like PostScript, PCL or PDF. It may be used by
clients such as <span class="application">mozilla</span>.
</p><p>Xprint is a very flexible, extensible, scaleable, client/server
</p><p>Xprint is a very flexible, extensible, scalable, client/server
print system based on ISO 10175 (and some other specs) and the X11
rendering protocol.
Using Xprint an application can search, query and use devices like
@@ -44,11 +44,11 @@
font databases.</p></dd><dt><span class="term"><tt class="option">-pn</tt></span></dt><dd><p>permits the server to continue running if it fails to
establish all of its well-known sockets (connection
points for clients), but establishes at least
one.</p></dd><dt><span class="term"><tt class="option">-XpFile <i class="replaceable"><tt>file</tt></i></tt></span></dt><dd><p>Sets an altername Xprinters file (see section FILES).</p></dd><dt><span class="term"><tt class="option">-XpSpoolerType <i class="replaceable"><tt>spoolername</tt></i></tt></span></dt><dd xmlns:ns2=""><p>
one.</p></dd><dt><span class="term"><tt class="option">-XpFile <i class="replaceable"><tt>file</tt></i></tt></span></dt><dd><p>Sets an alternate Xprinters file (see section FILES).</p></dd><dt><span class="term"><tt class="option">-XpSpoolerType <i class="replaceable"><tt>spoolername</tt></i></tt></span></dt><dd xmlns:ns2=""><p>
Defines the spooler system to be used for print job spooling.
Supported values in xprint.mozdev.org release 009 are:
</p><table class="simplelist" border="0" summary="Simple list"><tr><td>aix</td></tr><tr><td>aix4</td></tr><tr><td>bsd</td></tr><tr><td>osf</td></tr><tr><td>solaris</td></tr><tr><td>sysv</td></tr><tr><td>uxp</td></tr><tr><td>cups</td></tr><tr><td>lprng</td></tr><tr><td>other</td></tr><tr><td>none</td></tr></table><p>
(multiple values can be specified, seperated by ':', the first active spooler will be chosen).
(multiple values can be specified, separated by ':', the first active spooler will be chosen).
The default value is platform-specific and can be obtained via
</p><pre class="programlisting">Xprt -h</pre><p>.
</p></dd></dl></div></div><div xmlns:ns3="" class="refsect1" lang="en"><a name="id2805336"></a><h2>ENVIRONMENT</h2><p>

View File

@@ -20,7 +20,7 @@ applications to use devices like printers, FAX or create
documents in formats like PostScript, PCL or PDF. It may be used by
clients such as mozilla.
.PP
Xprint is a very flexible, extensible, scaleable, client/server
Xprint is a very flexible, extensible, scalable, client/server
print system based on ISO 10175 (and some other specs) and the X11
rendering protocol.
Using Xprint an application can search, query and use devices like
@@ -85,7 +85,7 @@ points for clients), but establishes at least
one.
.TP
\fB\-XpFile \fIfile\fB\fR
Sets an altername Xprinters file (see section FILES).
Sets an alternate Xprinters file (see section FILES).
.TP
\fB\-XpSpoolerType \fIspoolername\fB\fR
Defines the spooler system to be used for print job spooling.
@@ -113,7 +113,7 @@ other
none
(multiple values can be specified, seperated by ':', the first active spooler will be chosen).
(multiple values can be specified, separated by ':', the first active spooler will be chosen).
The default value is platform-specific and can be obtained via
.nf

View File

@@ -55,7 +55,7 @@ HTML generation can be done like this:
clients such as <application>mozilla</application>.
</para>
<para>Xprint is a very flexible, extensible, scaleable, client/server
<para>Xprint is a very flexible, extensible, scalable, client/server
print system based on ISO 10175 (and some other specs) and the X11
rendering protocol.
Using Xprint an application can search, query and use devices like
@@ -155,7 +155,7 @@ HTML generation can be done like this:
<term><option>-XpFile <replaceable>file</replaceable></option>
</term>
<listitem>
<para>Sets an altername Xprinters file (see section FILES).</para>
<para>Sets an alternate Xprinters file (see section FILES).</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -178,7 +178,7 @@ HTML generation can be done like this:
<member>other</member>
<member>none</member>
</simplelist>
(multiple values can be specified, seperated by ':', the first active spooler will be chosen).
(multiple values can be specified, separated by ':', the first active spooler will be chosen).
The default value is platform-specific and can be obtained via
<programlisting>Xprt -h</programlisting>.
</para>

View File

@@ -1,19 +1,19 @@
#!/bin/sh
#####################################################################
### File: 0018.xprint
### File: 92xprint-xpserverlist
###
### Default Location: /usr/dt/config/Xsession.d/
### Default Location: /etc/X11/Xsession.d/
###
### Purpose: Setup Xprint env vars
###
### Description: This script is invoked by means of the Xsession file
### at user login.
###
### Invoked by: /usr/dt/bin/Xsession
### Invoked by: /etc/X11/Xsession
###
### (c) Copyright 2003-2004 Roland Mainz <roland.mainz@nrubsig.org>
###
### please send bugfixes or comments to http://xprint.mozdev.org/
### please send bugfixes or comments to https://bugs.freedesktop.org
###
#####################################################################
@@ -22,8 +22,8 @@
# Obtain list of Xprint servers
#
if [ -f "/etc/init.d/xprint" ] ; then
XPSERVERLIST="`/bin/sh /etc/init.d/xprint get_xpserverlist`"
if [ -x "/etc/init.d/xprint" ] ; then
XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"
export XPSERVERLIST
fi

View File

@@ -1 +1,2 @@
EXTRA_DIST = cde_xsessiond_xprint.sh
xpcdir = $(sysconfdir)/X11/Xsession.d
dist_xpc_DATA = 92xprint-xpserverlist