xserver: Branch 'master' - 10 commits

Keith Packard keithp at kemper.freedesktop.org
Wed Nov 24 11:45:14 PST 2010


 doc/xml/.gitignore              |    1 
 doc/xml/Makefile.am             |   11 ++------
 doc/xml/dtrace/.gitignore       |    1 
 doc/xml/dtrace/Makefile.am      |   14 ++++------
 doc/xml/xmlrules-inst.in        |   23 +++++++++++++++++
 doc/xml/xmlrules-noinst.in      |   22 ++++++++++++++++
 doc/xml/xmlrules.in             |   53 ++++++++--------------------------------
 hw/dmx/doc/Makefile.am          |    8 ++----
 hw/xfree86/doc/man/Xorg.man.pre |    4 +--
 hw/xfree86/doc/sgml/Makefile.am |   10 ++-----
 hw/xfree86/modes/xf86RandR12.c  |   10 +++++++
 11 files changed, 83 insertions(+), 74 deletions(-)

New commits:
commit 7250f078c12fd20d5ac9150f54495926e5121461
Author: Gaetan Nadon <memsize at videotron.ca>
Date:   Sun Nov 21 14:27:58 2010 -0500

    doc: refactor Makefile and xmlrules.in code for reusability
    
    A different approach which requires less variables setting
    and internal knowledge of the reused code.
    Changing from "install" to "not install" is very easy now.
    
    Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/doc/xml/Makefile.am b/doc/xml/Makefile.am
index ab3839b..6c8178a 100644
--- a/doc/xml/Makefile.am
+++ b/doc/xml/Makefile.am
@@ -22,14 +22,9 @@
 #
 
 SUBDIRS = dtrace
+doc_sources =  Xserver-spec.xml
 
-XML_FILES = Xserver-spec.xml
-
-include $(top_srcdir)/doc/xml/xmlrules.in
-
+# Developer's documentation is not installed
 if ENABLE_DEVEL_DOCS
-noinst_DATA = $(BUILT_DOC_FILES)
+include $(top_srcdir)/doc/xml/xmlrules-noinst.in
 endif
-CLEANFILES = $(CLEAN_DOC_FILES)
-
-EXTRA_DIST = $(XML_FILES)
diff --git a/doc/xml/dtrace/Makefile.am b/doc/xml/dtrace/Makefile.am
index 10b4f04..1a5ad15 100644
--- a/doc/xml/dtrace/Makefile.am
+++ b/doc/xml/dtrace/Makefile.am
@@ -21,18 +21,16 @@
 # DEALINGS IN THE SOFTWARE.
 #
 
-XML_FILES = Xserver-DTrace.xml
-
-include $(top_srcdir)/doc/xml/xmlrules.in
+doc_sources =  Xserver-DTrace.xml
 
 if ENABLE_DOCS
+
+# This user's documentation is installed only if tracing is available
 if XSERVER_DTRACE
-doc_DATA = $(BUILT_DOC_FILES)
+include $(top_srcdir)/doc/xml/xmlrules-inst.in
 else
-noinst_DATA = $(BUILT_DOC_FILES)
-endif
+include $(top_srcdir)/doc/xml/xmlrules-noinst.in
 endif
 
-CLEANFILES = $(CLEAN_DOC_FILES)
+endif
 
-EXTRA_DIST = $(XML_FILES)
diff --git a/doc/xml/xmlrules-inst.in b/doc/xml/xmlrules-inst.in
new file mode 100644
index 0000000..9b90278
--- /dev/null
+++ b/doc/xml/xmlrules-inst.in
@@ -0,0 +1,23 @@
+
+# The doc_sources variable contains one or more DocBook/XML source file.
+# The generated documents will be installed in $(docdir),
+# The DocBook/XML files will always be included in the tarball
+
+dist_doc_DATA = $(doc_sources)
+
+if HAVE_XMLTO
+doc_DATA = $(doc_sources:.xml=.html)
+
+if HAVE_FOP
+doc_DATA += $(doc_sources:.xml=.pdf)
+endif
+
+if HAVE_XMLTO_TEXT
+doc_DATA += $(doc_sources:.xml=.txt)
+endif
+
+CLEANFILES = $(doc_DATA)
+include $(top_srcdir)/doc/xml/xmlrules.in
+
+endif HAVE_XMLTO
+
diff --git a/doc/xml/xmlrules-noinst.in b/doc/xml/xmlrules-noinst.in
new file mode 100644
index 0000000..0333652
--- /dev/null
+++ b/doc/xml/xmlrules-noinst.in
@@ -0,0 +1,22 @@
+
+# The doc_sources variable contains one or more DocBook/XML source file.
+# The generated documents will NOT be installed in $(docdir),
+# The DocBook/XML files will always be included in the tarball
+
+dist_noinst_DATA = $(doc_sources)
+
+if HAVE_XMLTO
+noinst_DATA = $(doc_sources:.xml=.html)
+
+if HAVE_FOP
+noinst_DATA += $(doc_sources:.xml=.pdf)
+endif
+
+if HAVE_XMLTO_TEXT
+noinst_DATA += $(doc_sources:.xml=.txt)
+endif
+
+CLEANFILES = $(noinst_DATA)
+include $(top_srcdir)/doc/xml/xmlrules.in
+
+endif HAVE_XMLTO
diff --git a/doc/xml/xmlrules.in b/doc/xml/xmlrules.in
index fd34243..f6a2e4f 100644
--- a/doc/xml/xmlrules.in
+++ b/doc/xml/xmlrules.in
@@ -21,24 +21,15 @@
 # DEALINGS IN THE SOFTWARE.
 #
 
-# This file is included by Makefile.am in subdirectories that have
-# DocBook XML documentation files.
-#
-# No files are automatically distributed or installed by this subset of rules
-# Any files to be distributed or installed would be listed in the including
-# Makefile.am
-
-TXT_FILES  = $(XML_FILES:%.xml=%.txt)
-HTML_FILES = $(XML_FILES:%.xml=%.html)
-PDF_FILES  = $(XML_FILES:%.xml=%.pdf)
-
-BUILT_DOC_FILES =
-
-SUFFIXES = .xml .txt .html .pdf
+# This file provides pattern rules to generate html/pdf/txt from DocBook/XML
+# A stylesheet is used if xorg-sgml-doctools is installed
+# This file is included by xmlrules-inst.in for installable user's documentation
+# It is included by xmlrules-noinst for non installable developer's documentation
+# If the server version or release date changes, autogen && make
 
 XML_ENT_DIR = $(abs_top_builddir)/doc/xml
+SUFFIXES = .xml .txt .html .pdf
 
-if HAVE_XMLTO
 XMLTO_FLAGS = --searchpath $(XML_ENT_DIR)
 
 if HAVE_STYLESHEETS
@@ -46,23 +37,11 @@ XMLTO_FLAGS += -m $(XSL_STYLESHEET) \
 	--stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
 endif
 
-if HAVE_XMLTO_TEXT
-BUILT_DOC_FILES += $(TXT_FILES)
 %.txt: %.xml $(XML_ENT_DIR)/xserver.ent
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) txt $<
-endif
 
-BUILT_DOC_FILES += $(HTML_FILES)
 %.html: %.xml $(XML_ENT_DIR)/xserver.ent
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $<
 
-if HAVE_FOP
-BUILT_DOC_FILES += $(PDF_FILES)
 %.pdf: %.xml $(XML_ENT_DIR)/xserver.ent
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $<
-endif
-
-endif HAVE_XMLTO
-
-CLEAN_DOC_FILES = $(TXT_FILES) $(HTML_FILES) $(PDF_FILES)
-
diff --git a/hw/dmx/doc/Makefile.am b/hw/dmx/doc/Makefile.am
index 3b22850..6dea366 100644
--- a/hw/dmx/doc/Makefile.am
+++ b/hw/dmx/doc/Makefile.am
@@ -19,14 +19,12 @@
 #  NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 #  CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
-XML_FILES = dmx.xml scaled.xml
-
-include $(top_srcdir)/doc/xml/xmlrules.in
+doc_sources = dmx.xml scaled.xml
 
+# Developer's documentation is not installed
 if ENABLE_DEVEL_DOCS
-noinst_DATA = $(BUILT_DOC_FILES)
+include $(top_srcdir)/doc/xml/xmlrules-noinst.in
 endif
-CLEANFILES = $(CLEAN_DOC_FILES)
 
 if HAVE_DOXYGEN
 
diff --git a/hw/xfree86/doc/sgml/Makefile.am b/hw/xfree86/doc/sgml/Makefile.am
index efed19d..10eca86 100644
--- a/hw/xfree86/doc/sgml/Makefile.am
+++ b/hw/xfree86/doc/sgml/Makefile.am
@@ -19,13 +19,9 @@
 #  NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 #  CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
-XML_FILES = DESIGN.xml
-
-include $(top_srcdir)/doc/xml/xmlrules.in
+doc_sources = DESIGN.xml
 
+# Developer's documentation is not installed
 if ENABLE_DEVEL_DOCS
-noinst_DATA = $(BUILT_DOC_FILES)
+include $(top_srcdir)/doc/xml/xmlrules-noinst.in
 endif
-CLEANFILES = $(CLEAN_DOC_FILES)
-
-EXTRA_DIST = $(XML_FILES)
commit f33512b70cf0350a62df2ee2287a870d5fc991a8
Author: Gaetan Nadon <memsize at videotron.ca>
Date:   Sun Nov 21 14:27:57 2010 -0500

    xmlrules.in: use $(top_srcdir) rather than ../../../ [...]
    
    Relative paths don't always work in distcheck when srcdir not = builddir
    include $(top_srcdir)/doc/xml/xmlrules.in
    
    Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/doc/xml/Makefile.am b/doc/xml/Makefile.am
index e66f192..ab3839b 100644
--- a/doc/xml/Makefile.am
+++ b/doc/xml/Makefile.am
@@ -25,7 +25,7 @@ SUBDIRS = dtrace
 
 XML_FILES = Xserver-spec.xml
 
-include xmlrules.in
+include $(top_srcdir)/doc/xml/xmlrules.in
 
 if ENABLE_DEVEL_DOCS
 noinst_DATA = $(BUILT_DOC_FILES)
diff --git a/doc/xml/dtrace/Makefile.am b/doc/xml/dtrace/Makefile.am
index a95d374..10b4f04 100644
--- a/doc/xml/dtrace/Makefile.am
+++ b/doc/xml/dtrace/Makefile.am
@@ -23,7 +23,7 @@
 
 XML_FILES = Xserver-DTrace.xml
 
-include ../xmlrules.in
+include $(top_srcdir)/doc/xml/xmlrules.in
 
 if ENABLE_DOCS
 if XSERVER_DTRACE
diff --git a/hw/dmx/doc/Makefile.am b/hw/dmx/doc/Makefile.am
index 58306d2..3b22850 100644
--- a/hw/dmx/doc/Makefile.am
+++ b/hw/dmx/doc/Makefile.am
@@ -21,7 +21,7 @@
 
 XML_FILES = dmx.xml scaled.xml
 
-include ../../../doc/xml/xmlrules.in
+include $(top_srcdir)/doc/xml/xmlrules.in
 
 if ENABLE_DEVEL_DOCS
 noinst_DATA = $(BUILT_DOC_FILES)
diff --git a/hw/xfree86/doc/sgml/Makefile.am b/hw/xfree86/doc/sgml/Makefile.am
index 5322b42..efed19d 100644
--- a/hw/xfree86/doc/sgml/Makefile.am
+++ b/hw/xfree86/doc/sgml/Makefile.am
@@ -21,7 +21,7 @@
 
 XML_FILES = DESIGN.xml
 
-include ../../../../doc/xml/xmlrules.in
+include $(top_srcdir)/doc/xml/xmlrules.in
 
 if ENABLE_DEVEL_DOCS
 noinst_DATA = $(BUILT_DOC_FILES)
commit c25b407f22456f50eef90d9bc5e026c05415c021
Author: Gaetan Nadon <memsize at videotron.ca>
Date:   Sun Nov 21 14:27:56 2010 -0500

    xmlrules.in: specify the xserver entities depedencies on the target
    
    The generated docs will rebuild when the xserver.ent file changes.
    
    Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/doc/xml/xmlrules.in b/doc/xml/xmlrules.in
index f3b76f9..fd34243 100644
--- a/doc/xml/xmlrules.in
+++ b/doc/xml/xmlrules.in
@@ -48,17 +48,17 @@ endif
 
 if HAVE_XMLTO_TEXT
 BUILT_DOC_FILES += $(TXT_FILES)
-%.txt: %.xml
+%.txt: %.xml $(XML_ENT_DIR)/xserver.ent
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) txt $<
 endif
 
 BUILT_DOC_FILES += $(HTML_FILES)
-%.html: %.xml
+%.html: %.xml $(XML_ENT_DIR)/xserver.ent
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $<
 
 if HAVE_FOP
 BUILT_DOC_FILES += $(PDF_FILES)
-%.pdf: %.xml
+%.pdf: %.xml $(XML_ENT_DIR)/xserver.ent
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $<
 endif
 
@@ -66,8 +66,3 @@ endif HAVE_XMLTO
 
 CLEAN_DOC_FILES = $(TXT_FILES) $(HTML_FILES) $(PDF_FILES)
 
-# All the files we build depend on the entities
-$(BUILT_DOC_FILES): $(XML_ENT_DIR)/xserver.ent
-
-$(XML_ENT_DIR)/xserver.ent:
-	(cd $(XML_ENT_DIR) && $(MAKE) $(AM_MAKEFLAGS) $(@F))
commit 73841074eb856e6be3b9f9e3fc2d2721443166ab
Author: Gaetan Nadon <memsize at videotron.ca>
Date:   Sun Nov 21 14:27:55 2010 -0500

    xmlrules.in: use pattern rules to enable dependencies
    
    This will allow a dependency to be specified as done in libX11:
    
    %.html: %.xml $(dist_spec_DATA)
    	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $<
    
    Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/doc/xml/xmlrules.in b/doc/xml/xmlrules.in
index 987d6b6..f3b76f9 100644
--- a/doc/xml/xmlrules.in
+++ b/doc/xml/xmlrules.in
@@ -48,17 +48,17 @@ endif
 
 if HAVE_XMLTO_TEXT
 BUILT_DOC_FILES += $(TXT_FILES)
-.xml.txt:
+%.txt: %.xml
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) txt $<
 endif
 
 BUILT_DOC_FILES += $(HTML_FILES)
-.xml.html:
+%.html: %.xml
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $<
 
 if HAVE_FOP
 BUILT_DOC_FILES += $(PDF_FILES)
-.xml.pdf:
+%.pdf: %.xml
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $<
 endif
 
commit 97e307dda201d6ba28a723c21a95e484921d1b08
Author: Gaetan Nadon <memsize at videotron.ca>
Date:   Sun Nov 21 14:27:54 2010 -0500

    xmlrules.in: no need to setup xmlto flags when configuring --without-xmlto
    
    The AM conditional HAVE_XMLTO should wrap more statements.
    
    Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/doc/xml/xmlrules.in b/doc/xml/xmlrules.in
index c455ded..987d6b6 100644
--- a/doc/xml/xmlrules.in
+++ b/doc/xml/xmlrules.in
@@ -37,6 +37,8 @@ BUILT_DOC_FILES =
 SUFFIXES = .xml .txt .html .pdf
 
 XML_ENT_DIR = $(abs_top_builddir)/doc/xml
+
+if HAVE_XMLTO
 XMLTO_FLAGS = --searchpath $(XML_ENT_DIR)
 
 if HAVE_STYLESHEETS
@@ -44,7 +46,6 @@ XMLTO_FLAGS += -m $(XSL_STYLESHEET) \
 	--stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
 endif
 
-if HAVE_XMLTO
 if HAVE_XMLTO_TEXT
 BUILT_DOC_FILES += $(TXT_FILES)
 .xml.txt:
@@ -61,7 +62,7 @@ BUILT_DOC_FILES += $(PDF_FILES)
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $<
 endif
 
-endif
+endif HAVE_XMLTO
 
 CLEAN_DOC_FILES = $(TXT_FILES) $(HTML_FILES) $(PDF_FILES)
 
commit 1a7b14d1183057fc69a5da446e898104b65c8347
Author: Gaetan Nadon <memsize at videotron.ca>
Date:   Sun Nov 21 14:27:53 2010 -0500

    xmlrules.in: remove unrequired "@rm -f $@" from doc targets
    
    Unable to find a purpose for this, not used anywhere else
    but in the font module.
    
    Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/doc/xml/xmlrules.in b/doc/xml/xmlrules.in
index f828eef..c455ded 100644
--- a/doc/xml/xmlrules.in
+++ b/doc/xml/xmlrules.in
@@ -48,19 +48,16 @@ if HAVE_XMLTO
 if HAVE_XMLTO_TEXT
 BUILT_DOC_FILES += $(TXT_FILES)
 .xml.txt:
-	@rm -f $@
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) txt $<
 endif
 
 BUILT_DOC_FILES += $(HTML_FILES)
 .xml.html:
-	@rm -f $@
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $<
 
 if HAVE_FOP
 BUILT_DOC_FILES += $(PDF_FILES)
 .xml.pdf:
-	@rm -f $@
 	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $<
 endif
 
commit d3c523bd124dc1a3f4539f7f6cd4868adbfc25e1
Author: Gaetan Nadon <memsize at videotron.ca>
Date:   Sun Nov 21 14:27:52 2010 -0500

    doc: HTML file generation: use the installed copy of xorg.css
    
    Currently the xorg.css file is copied in each location
    where a DocBook/XML file resides. This produces about
    70 copies in the $(docdir) install tree for all of xorg.
    
    Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/doc/xml/.gitignore b/doc/xml/.gitignore
index 3d050f0..4961738 100644
--- a/doc/xml/.gitignore
+++ b/doc/xml/.gitignore
@@ -3,4 +3,3 @@ xserver.ent
 Xserver-spec.html
 Xserver-spec.pdf
 Xserver-spec.txt
-xorg.css
diff --git a/doc/xml/dtrace/.gitignore b/doc/xml/dtrace/.gitignore
index a43c4e1..e2a21d1 100644
--- a/doc/xml/dtrace/.gitignore
+++ b/doc/xml/dtrace/.gitignore
@@ -1,4 +1,3 @@
 Xserver-DTrace.html
 Xserver-DTrace.pdf
 Xserver-DTrace.txt
-xorg.css
diff --git a/doc/xml/xmlrules.in b/doc/xml/xmlrules.in
index b7fda11..f828eef 100644
--- a/doc/xml/xmlrules.in
+++ b/doc/xml/xmlrules.in
@@ -40,11 +40,8 @@ XML_ENT_DIR = $(abs_top_builddir)/doc/xml
 XMLTO_FLAGS = --searchpath $(XML_ENT_DIR)
 
 if HAVE_STYLESHEETS
-XMLTO_FLAGS += -m $(XSL_STYLESHEET)
-BUILT_DOC_FILES += xorg.css
-
-xorg.css: $(STYLESHEET_SRCDIR)/xorg.css
-	$(AM_V_GEN)cp -pf $(STYLESHEET_SRCDIR)/xorg.css $@
+XMLTO_FLAGS += -m $(XSL_STYLESHEET) \
+	--stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
 endif
 
 if HAVE_XMLTO
@@ -69,7 +66,7 @@ endif
 
 endif
 
-CLEAN_DOC_FILES = $(TXT_FILES) $(HTML_FILES) $(PDF_FILES) xorg.css
+CLEAN_DOC_FILES = $(TXT_FILES) $(HTML_FILES) $(PDF_FILES)
 
 # All the files we build depend on the entities
 $(BUILT_DOC_FILES): $(XML_ENT_DIR)/xserver.ent
commit 504e3010e976ccc008ff48417850b594beaee2ec
Author: Alan Coopersmith <alan.coopersmith at oracle.com>
Date:   Fri Nov 19 22:09:05 2010 -0800

    Xorg.man: Replace XDarwin reference with Xquartz
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/xfree86/doc/man/Xorg.man.pre b/hw/xfree86/doc/man/Xorg.man.pre
index 805f3a3..86e89a9 100644
--- a/hw/xfree86/doc/man/Xorg.man.pre
+++ b/hw/xfree86/doc/man/Xorg.man.pre
@@ -32,8 +32,8 @@ SPARC and PowerPC.  The most widely supported operating systems are the
 free/OpenSource UNIX-like systems such as Linux, FreeBSD, NetBSD,
 OpenBSD, and Solaris.  Commercial UNIX operating systems such as
 UnixWare are also supported.  Other supported operating systems include
-GNU Hurd.  Darwin and Mac OS X are supported with the
-XDarwin(__appmansuffix__) X server.  Win32/Cygwin is supported with the 
+GNU Hurd.  Mac OS X is supported with the
+Xquartz(__appmansuffix__) X server.  Win32/Cygwin is supported with the
 XWin(__appmansuffix__) X server.
 .PP
 .SH "NETWORK CONNECTIONS"
commit 566d09a5cd6452ee2e05e23d2205e7c3aa31f0da
Author: Bill Nottingham <notting at redhat.com>
Date:   Mon Nov 15 11:25:14 2010 +1000

    xfree86: store the screen's gamma information on init.
    
    This fixes a gamma issue on vt switch observed with KDM. VT switching away
    and back would result in a black screen. Avoid this by storing the current
    gamma information on init.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=533217
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index f562f58..2fe0c47 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -1757,6 +1757,7 @@ xf86RandR12Init12 (ScreenPtr pScreen)
     ScrnInfoPtr		pScrn = xf86Screens[pScreen->myNum];
     rrScrPrivPtr	rp = rrGetScrPriv(pScreen);
     XF86RandRInfoPtr	randrp  = XF86RANDRINFO(pScreen);
+    int i;
 
     rp->rrGetInfo = xf86RandR12GetInfo12;
     rp->rrScreenSetSize = xf86RandR12ScreenSetSize;
@@ -1786,6 +1787,9 @@ xf86RandR12Init12 (ScreenPtr pScreen)
      */
     if (!xf86RandR12SetInfo12 (pScreen))
 	return FALSE;
+    for (i = 0; i < rp->numCrtcs; i++) {
+	xf86RandR12CrtcGetGamma(pScreen, rp->crtcs[i]);
+    }
     return TRUE;
 }
 
commit c050aa2f5fa6a7ff8ce4f91def14ca44f799f067
Author: Adam Jackson <ajax at redhat.com>
Date:   Mon Nov 15 11:25:12 2010 +1000

    xfree86: apply gamma settings on EnterVT.
    
    When entering the VT, re-apply the saved gamma settings for each screen.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index ba0862a..f562f58 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -1731,6 +1731,7 @@ xf86RandR12EnterVT (int screen_index, int flags)
     ScreenPtr        pScreen = screenInfo.screens[screen_index];
     ScrnInfoPtr	     pScrn = xf86Screens[screen_index];
     XF86RandRInfoPtr randrp  = XF86RANDRINFO(pScreen);
+    rrScrPrivPtr     rp = rrGetScrPriv(pScreen);
     Bool	     ret;
 
     if (randrp->orig_EnterVT) {
@@ -1742,6 +1743,11 @@ xf86RandR12EnterVT (int screen_index, int flags)
 	    return FALSE;
     }
 
+    /* reload gamma */
+    int i;
+    for (i = 0; i < rp->numCrtcs; i++)
+	xf86RandR12CrtcSetGamma(pScreen, rp->crtcs[i]);
+
     return RRGetInfo (pScreen, TRUE); /* force a re-probe of outputs and notify clients about changes */
 }
 


More information about the xorg-commit mailing list