[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'ubuntu'



 aclocal.m4                                 |    2 
 config/dbus-core.c                         |    5 +
 config/hal.c                               |   11 +++-
 configure                                  |   20 +++----
 debian/changelog                           |   73 +++++++++++++++++++++++++++--
 debian/local/xvfb-run.1                    |    4 -
 debian/patches/08_better_dpms_logging.diff |   31 ++++++++++++
 debian/patches/08_xkb_infinite_loop.diff   |   34 -------------
 debian/patches/103_fedora_openchrome.patch |   24 +++++++++
 debian/patches/series                      |    3 -
 dix/devices.c                              |    3 -
 hw/kdrive/ephyr/ephyr.c                    |    1 
 hw/xprint/Makefile.in                      |    2 
 include/xkbsrv.h                           |    3 -
 os/connection.c                            |    3 -
 15 files changed, 162 insertions(+), 57 deletions(-)

New commits:
commit 2173dabd93e132896905f36a4b240abe750c9892
Author: Timo Aaltonen <tjaalton@deckard.hut.fi>
Date:   Tue Jan 8 18:07:19 2008 +0200

    Patch from Fedora to use openchrome instead of via.

diff --git a/debian/changelog b/debian/changelog
index 10ca1b8..36a0561 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.4.1~git20080105-1ubuntu1) UNRELEASED; urgency=low
+xorg-server (2:1.4.1~git20080105-1ubuntu1) hardy; urgency=low
 
   * Merge with Debian unstable, remaining changes:
   * debian/control:
@@ -44,8 +44,10 @@ xorg-server (2:1.4.1~git20080105-1ubuntu1) UNRELEASED; urgency=low
       disable it on anything pseudocolor for safety.
     - 144_fedora_xserver-1.3.0-xnest-exposures.patch:
       Only collect xnest exposures for xexposes with non-zero height and width.
+  * debian/patches/103_fedora_openchrome.patch:
+    - Patch from Fedora to use openchrome instead of via.
 
- -- Timo Aaltonen <tepsipakki@ubuntu.com>  Thu, 13 Dec 2007 13:43:35 +0200
+ -- Timo Aaltonen <tepsipakki@ubuntu.com>  Tue, 08 Jan 2008 18:05:21 +0200
 
 xorg-server (2:1.4.1~git20080105-2) UNRELEASED; urgency=low
 
diff --git a/debian/patches/103_fedora_openchrome.patch b/debian/patches/103_fedora_openchrome.patch
new file mode 100644
index 0000000..98ee42b
--- /dev/null
+++ b/debian/patches/103_fedora_openchrome.patch
@@ -0,0 +1,24 @@
+From 59681e08381f8ca83263a6313b43905909e68583 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 28 Nov 2007 12:09:16 -0500
+Subject: [PATCH] via -> openchrome
+
+---
+ hw/xfree86/common/xf86AutoConfig.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
+index c6e1972..da6c3f3 100644
+--- a/hw/xfree86/common/xf86AutoConfig.c
++++ b/hw/xfree86/common/xf86AutoConfig.c
+@@ -184,7 +184,7 @@ videoPtrToDriverName(struct pci_device *dev)
+ 	case 0x3d3d:		    return "glint";
+ 	case 0x1023:		    return "trident";
+ 	case 0x100c:		    return "tseng";
+-	case 0x1106:		    return "via";
++	case 0x1106:		    return "openchrome";
+ 	case 0x15ad:		    return "vmware";
+ 	default: break;
+     }
+-- 
+1.5.3.4
diff --git a/debian/patches/series b/debian/patches/series
index 932fe93..e231388 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -23,6 +23,7 @@
 100_avoid_acpi_insanity.diff
 101_fedora-apm-typedefs.patch
 102_ubuntu_sharevts_load_cpu.patch
+103_fedora_openchrome.patch
 104_fedora_init_origins_fix.patch
 106_ubuntu_fpic_libxf86config.patch
 107_fedora_dont_backfill_bg_none.patch

commit cef381c33457c486ddc0aef974614decf1a5c4b7
Author: David Nusinow <dnusinow@debian.org>
Date:   Mon Jan 7 20:55:00 2008 -0500

    * Improve dpms logging patch to correctly label message type

diff --git a/debian/changelog b/debian/changelog
index 886f93a..85abf9c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.4.1~git20080105-2) UNRELEASED; urgency=low
+
+  * Improve dpms logging patch to correctly label message type
+
+ -- David Nusinow <dnusinow@debian.org>  Mon, 07 Jan 2008 20:28:26 -0500
+
 xorg-server (2:1.4.1~git20080105-1) unstable; urgency=low
 
   * Don't reference non-existent bug-reporting.txt file in xvfb-run.1
diff --git a/debian/patches/08_better_dpms_logging.diff b/debian/patches/08_better_dpms_logging.diff
index b67b331..7b7c4cc 100644
--- a/debian/patches/08_better_dpms_logging.diff
+++ b/debian/patches/08_better_dpms_logging.diff
@@ -1,21 +1,31 @@
 Index: xorg-server/hw/xfree86/common/xf86DPMS.c
 ===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86DPMS.c	2008-01-06 15:59:07.000000000 -0500
-+++ xorg-server/hw/xfree86/common/xf86DPMS.c	2008-01-06 16:09:03.000000000 -0500
-@@ -83,7 +83,6 @@
+--- xorg-server.orig/hw/xfree86/common/xf86DPMS.c	2008-01-07 20:19:47.000000000 -0500
++++ xorg-server/hw/xfree86/common/xf86DPMS.c	2008-01-07 20:28:11.000000000 -0500
+@@ -61,6 +61,7 @@
+     ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+     DPMSPtr pDPMS;
+     pointer DPMSOpt;
++    MessageType enabled_from = X_INFO;
+ 
+     if (serverGeneration != DPMSGeneration) {
+ 	if ((DPMSIndex = AllocateScreenPrivateIndex()) < 0)
+@@ -82,8 +83,8 @@
+ 	    = xf86SetBoolOption(pScrn->options, "dpms", FALSE))
  	    && !DPMSDisabledSwitch)
  	    DPMSEnabled = TRUE;
++            enabled_from = X_CONFIG;
  	xf86MarkOptionUsed(DPMSOpt);
 -	xf86DrvMsg(pScreen->myNum, X_CONFIG, "DPMS enabled\n");
      } else if (DPMSEnabledSwitch) {
  	if (!DPMSDisabledSwitch)
  	    DPMSEnabled = TRUE;
-@@ -92,6 +91,8 @@
+@@ -92,6 +93,8 @@
      else {
  	pDPMS->Enabled = defaultDPMSEnabled;
      }
 +    if (pDPMS->Enabled)
-+	xf86DrvMsg(pScreen->myNum, X_CONFIG, "DPMS enabled\n");
++	xf86DrvMsg(pScreen->myNum, enabled_from, "DPMS enabled\n");
      pDPMS->CloseScreen = pScreen->CloseScreen;
      pScreen->CloseScreen = DPMSClose;
      DPMSCount++;

commit 0e0f1ce6f3497740de022d4561154e1f1b39790b
Author: David Nusinow <dnusinow@debian.org>
Date:   Sun Jan 6 17:43:53 2008 -0500

    Update changelog for upload

diff --git a/debian/changelog b/debian/changelog
index 0808b5e..886f93a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.4.1~git20080105-1) UNRELEASED; urgency=low
+xorg-server (2:1.4.1~git20080105-1) unstable; urgency=low
 
   * Don't reference non-existent bug-reporting.txt file in xvfb-run.1
   * New upstream git pull, again from the server-1.4-branch
@@ -6,7 +6,7 @@ xorg-server (2:1.4.1~git20080105-1) UNRELEASED; urgency=low
   * Improve logging when DPMS is enabled implicitly
     + Adds 08_better_dpms_logging.diff
 
- -- David Nusinow <dnusinow@debian.org>  Sun, 06 Jan 2008 16:10:41 -0500
+ -- David Nusinow <dnusinow@debian.org>  Sun, 06 Jan 2008 16:56:38 -0500
 
 xorg-server (2:1.4.1~git20071212-2) unstable; urgency=low
 

commit 2be9c8c5033846178b7a59873c72c22cbc4ca667
Author: David Nusinow <dnusinow@debian.org>
Date:   Sun Jan 6 16:56:06 2008 -0500

    Autoreconf

diff --git a/aclocal.m4 b/aclocal.m4
index b81e65b..84b1224 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -18,7 +18,7 @@ you should regenerate the build system entirely.], [63])])
 
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
-# serial 51 Debian 1.5.24-1 AC_PROG_LIBTOOL
+# serial 51 Debian 1.5.24-2 AC_PROG_LIBTOOL
 
 
 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
diff --git a/configure b/configure
index 3d22f07..da31f1c 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for xorg-server 1.4.
+# Generated by GNU Autoconf 2.61 for xorg-server 1.4.0.90.
 #
 # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
 #
@@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='xorg-server'
 PACKAGE_TARNAME='xorg-server'
-PACKAGE_VERSION='1.4'
-PACKAGE_STRING='xorg-server 1.4'
+PACKAGE_VERSION='1.4.0.90'
+PACKAGE_STRING='xorg-server 1.4.0.90'
 PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
 
 ac_unique_file="Makefile.am"
@@ -1874,7 +1874,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures xorg-server 1.4 to adapt to many kinds of systems.
+\`configure' configures xorg-server 1.4.0.90 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1944,7 +1944,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xorg-server 1.4:";;
+     short | recursive ) echo "Configuration of xorg-server 1.4.0.90:";;
    esac
   cat <<\_ACEOF
 
@@ -2292,7 +2292,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xorg-server configure 1.4
+xorg-server configure 1.4.0.90
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -2306,7 +2306,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xorg-server $as_me 1.4, which was
+It was created by xorg-server $as_me 1.4.0.90, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2997,7 +2997,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='xorg-server'
- VERSION='1.4'
+ VERSION='1.4.0.90'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -38054,7 +38054,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xorg-server $as_me 1.4, which was
+This file was extended by xorg-server $as_me 1.4.0.90, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -38107,7 +38107,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-xorg-server config.status 1.4
+xorg-server config.status 1.4.0.90
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/hw/xprint/Makefile.in b/hw/xprint/Makefile.in
index 51f7532..a189513 100644
--- a/hw/xprint/Makefile.in
+++ b/hw/xprint/Makefile.in
@@ -415,6 +415,7 @@ Xprt_SOURCES = \
         $(top_srcdir)/fb/fbcmap_mi.c
 
 EXTRA_DIST = ValTree.c
+CLEANFILES = miinitext-wrapper.c dpmsstubs-wrapper.c
 all: all-recursive
 
 .SUFFIXES:
@@ -878,6 +879,7 @@ install-strip:
 mostlyclean-generic:
 
 clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)

commit a2886cda07cf656265f058d5305abfba998ef22d
Author: David Nusinow <dnusinow@debian.org>
Date:   Sun Jan 6 16:34:27 2008 -0500

    * Improve logging when DPMS is enabled implicitly
      + Adds 08_better_dpms_logging.diff

diff --git a/debian/changelog b/debian/changelog
index 9af28af..0808b5e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,8 +3,10 @@ xorg-server (2:1.4.1~git20080105-1) UNRELEASED; urgency=low
   * Don't reference non-existent bug-reporting.txt file in xvfb-run.1
   * New upstream git pull, again from the server-1.4-branch
     + Drop 08_xkb_infinite_loop.diff, it's upstream now
+  * Improve logging when DPMS is enabled implicitly
+    + Adds 08_better_dpms_logging.diff
 
- -- David Nusinow <dnusinow@debian.org>  Sat, 05 Jan 2008 17:48:05 -0500
+ -- David Nusinow <dnusinow@debian.org>  Sun, 06 Jan 2008 16:10:41 -0500
 
 xorg-server (2:1.4.1~git20071212-2) unstable; urgency=low
 
diff --git a/debian/patches/08_better_dpms_logging.diff b/debian/patches/08_better_dpms_logging.diff
new file mode 100644
index 0000000..b67b331
--- /dev/null
+++ b/debian/patches/08_better_dpms_logging.diff
@@ -0,0 +1,21 @@
+Index: xorg-server/hw/xfree86/common/xf86DPMS.c
+===================================================================
+--- xorg-server.orig/hw/xfree86/common/xf86DPMS.c	2008-01-06 15:59:07.000000000 -0500
++++ xorg-server/hw/xfree86/common/xf86DPMS.c	2008-01-06 16:09:03.000000000 -0500
+@@ -83,7 +83,6 @@
+ 	    && !DPMSDisabledSwitch)
+ 	    DPMSEnabled = TRUE;
+ 	xf86MarkOptionUsed(DPMSOpt);
+-	xf86DrvMsg(pScreen->myNum, X_CONFIG, "DPMS enabled\n");
+     } else if (DPMSEnabledSwitch) {
+ 	if (!DPMSDisabledSwitch)
+ 	    DPMSEnabled = TRUE;
+@@ -92,6 +91,8 @@
+     else {
+ 	pDPMS->Enabled = defaultDPMSEnabled;
+     }
++    if (pDPMS->Enabled)
++	xf86DrvMsg(pScreen->myNum, X_CONFIG, "DPMS enabled\n");
+     pDPMS->CloseScreen = pScreen->CloseScreen;
+     pScreen->CloseScreen = DPMSClose;
+     DPMSCount++;
diff --git a/debian/patches/series b/debian/patches/series
index f9cca17..097f64c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,6 +5,7 @@
 05_kill_type1.diff
 06_use_proc_instead_of_sysfs_for_pci_domains.diff
 07_autoconfig_screen_with_device_section.diff
+08_better_dpms_logging.diff
 10_dont_look_in_home_for_config.diff -p0
 13_debian_add_xkbpath_env_variable.diff
 14_default_screen_section.diff

commit 69769a13d25ba4cc83b2db654246131203b159f2
Author: David Nusinow <dnusinow@debian.org>
Date:   Sat Jan 5 18:42:13 2008 -0500

      + Drop 08_xkb_infinite_loop.diff, it's upstream now

diff --git a/debian/changelog b/debian/changelog
index 1ce5204..9af28af 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ xorg-server (2:1.4.1~git20080105-1) UNRELEASED; urgency=low
 
   * Don't reference non-existent bug-reporting.txt file in xvfb-run.1
   * New upstream git pull, again from the server-1.4-branch
+    + Drop 08_xkb_infinite_loop.diff, it's upstream now
 
  -- David Nusinow <dnusinow@debian.org>  Sat, 05 Jan 2008 17:48:05 -0500
 
diff --git a/debian/patches/08_xkb_infinite_loop.diff b/debian/patches/08_xkb_infinite_loop.diff
deleted file mode 100644
index efe3f28..0000000
--- a/debian/patches/08_xkb_infinite_loop.diff
+++ /dev/null
@@ -1,34 +0,0 @@
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=451989
-https://bugs.freedesktop.org/show_bug.cgi?id=13511
------- Comment  #1 From Peter Hutterer  2007-12-04 22:45:39 PST  [reply] -------
-
-(In reply to comment #0)
-> When some window is opened by some grabbed key, grabbing all keys and they
-> destroyed (like the window ratpoison opened uppon C-t :, or the window icewm
-> shows when doing Alt-Tab), the xserver is caught in an endless loop within
-> PlayReleasedEvents in dix/events.c.
-
-interesting bug... tricky to track down. 
-
-The bug only occurs if Xkb triggers an autorepeat. In this case,
-XkbHandleActions overwrites dev->public.realInputProc with EnqueueEvent. When
-the device is unfrozen, the realInputProc is written back to the
-processInputProc and the whole thing craps out.
-
-Here's a preliminary hack to fix it. It stops the loop occuring (tested with
-ratpoison) but I'm not sure what other implications it has. It most probably is
-not the correct solution.
-
-diff --git a/include/xkbsrv.h b/include/xkbsrv.h
-index 167dbec..9f7f0d6 100644
---- a/include/xkbsrv.h
-+++ b/include/xkbsrv.h
-@@ -258,7 +258,8 @@ typedef struct
- 	    device->public.processInputProc = proc; \
- 	oldprocs->processInputProc = \
- 	oldprocs->realInputProc = device->public.realInputProc; \
--	device->public.realInputProc = proc; \
-+	if (proc != device->public.enqueueInputProc) \
-+	    device->public.realInputProc = proc; \
- 	oldprocs->unwrapProc = device->unwrapProc; \
- 	device->unwrapProc = unwrapproc;
diff --git a/debian/patches/series b/debian/patches/series
index c3abaee..f9cca17 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,7 +5,6 @@
 05_kill_type1.diff
 06_use_proc_instead_of_sysfs_for_pci_domains.diff
 07_autoconfig_screen_with_device_section.diff
-08_xkb_infinite_loop.diff
 10_dont_look_in_home_for_config.diff -p0
 13_debian_add_xkbpath_env_variable.diff
 14_default_screen_section.diff

commit 597f0c9da8f2f3ca51524ec7c20cdeeecdf7347c
Author: David Nusinow <dnusinow@debian.org>
Date:   Sat Jan 5 17:54:24 2008 -0500

    * New upstream git pull, again from the server-1.4-branch

diff --git a/debian/changelog b/debian/changelog
index 663052c..1ce5204 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
-xorg-server (2:1.4.1~git20071212-3) UNRELEASED; urgency=low
+xorg-server (2:1.4.1~git20080105-1) UNRELEASED; urgency=low
 
   * Don't reference non-existent bug-reporting.txt file in xvfb-run.1
+  * New upstream git pull, again from the server-1.4-branch
 
  -- David Nusinow <dnusinow@debian.org>  Sat, 05 Jan 2008 17:48:05 -0500
 

commit af61b302e50d4abbb9fee2c3b25097be625c09d2
Author: David Nusinow <dnusinow@debian.org>
Date:   Sat Jan 5 17:48:50 2008 -0500

    * Don't reference non-existent bug-reporting.txt file in xvfb-run.1

diff --git a/debian/changelog b/debian/changelog
index 0b1ce76..663052c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.4.1~git20071212-3) UNRELEASED; urgency=low
+
+  * Don't reference non-existent bug-reporting.txt file in xvfb-run.1
+
+ -- David Nusinow <dnusinow@debian.org>  Sat, 05 Jan 2008 17:48:05 -0500
+
 xorg-server (2:1.4.1~git20071212-2) unstable; urgency=low
 
   * Add patch 08_xkb_infinite_loop.diff from upstream bug#13511: papers over
diff --git a/debian/local/xvfb-run.1 b/debian/local/xvfb-run.1
index 08fc97f..137d3a1 100644
--- a/debian/local/xvfb-run.1
+++ b/debian/local/xvfb-run.1
@@ -269,9 +269,7 @@ See
 .URL "http://bugs.debian.org/xvfb"; "the Debian Bug Tracking System" .
 If you wish to report a bug in
 .BR xvfb\-run ,
-please see
-.I /usr/share/doc/debian/bug\-reporting.txt
-or the
+please use the 
 .BR reportbug (1)
 command.
 .SH AUTHOR

commit 60144ac814ee26e151186f7c93cb1a273468d497
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Wed Dec 19 16:20:36 2007 +1030

    include: never overwrite realInputProc with enqueueInputProc. Bug #13511
    
    In some cases (triggered by a key repeat during a sync grab) XKB unwrapping
    can overwrite the device's realInputProc with the enqueueInputProc. When the
    grab is released and the events are replayed, we end up in an infinite loop.
    Each event is replayed and in replaying pushed to the end of the queue again.
    
    This fix is a hack only. It ensures that the realInputProc is never
    overwritten with the enqueueInputProc.
    
    This fixes Bug #13511 (https://bugs.freedesktop.org/show_bug.cgi?id=13511)
    (cherry picked from commit eace88989c3b65d5c20e9f37ea9b23c7c8e19335)
    (cherry picked from commit 50e80c39870adfdc84fdbc00dddf1362117ad443)

diff --git a/include/xkbsrv.h b/include/xkbsrv.h
index 167dbec..9174eb6 100644
--- a/include/xkbsrv.h
+++ b/include/xkbsrv.h
@@ -258,7 +258,8 @@ typedef struct
 	    device->public.processInputProc = proc; \
 	oldprocs->processInputProc = \
 	oldprocs->realInputProc = device->public.realInputProc; \
-	device->public.realInputProc = proc; \
+	if (proc != device->public.enqueueInputProc) \
+		device->public.realInputProc = proc; \
 	oldprocs->unwrapProc = device->unwrapProc; \
 	device->unwrapProc = unwrapproc;
 

commit 102c012c206cbb3bbf0fa5b0c8f0ce2ce9bba72a
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Dec 28 15:49:50 2007 +0200

    Input: Don't reinit devices
    
    If a device is already initialised (i.e. the virtual core devices) during
    IASD, don't init them again.  This fixes a leak.
    (cherry picked from commit 1f6015c8fe62c28cfaa82cc855b5b9c28fd34607)

diff --git a/dix/devices.c b/dix/devices.c
index 287d730..f6f3c8e 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -473,7 +473,8 @@ InitAndStartDevices(void)
 
     for (dev = inputInfo.off_devices; dev; dev = dev->next) {
         DebugF("(dix) initialising device %d\n", dev->id);
-	ActivateDevice(dev);
+        if (!dev->inited)
+            ActivateDevice(dev);
     }
     for (dev = inputInfo.off_devices; dev; dev = next)
     {

commit a304fc1d4a7062f65161ef8748fd358639ec73de
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Dec 28 15:48:57 2007 +0200

    KDrive: Xephyr: Don't leak screen damage structure
    (cherry picked from commit 0b03d97a244540824c922c300adbc3d3ae4855d5)

diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c
index e8001df..27165a5 100644
--- a/hw/kdrive/ephyr/ephyr.c
+++ b/hw/kdrive/ephyr/ephyr.c
@@ -394,6 +394,7 @@ ephyrUnsetInternalDamage (ScreenPtr pScreen)
   
   pPixmap = (*pScreen->GetScreenPixmap) (pScreen);
   DamageUnregister (&pPixmap->drawable, scrpriv->pDamage);
+  DamageDestroy (scrpriv->pDamage);
   
   RemoveBlockAndWakeupHandlers (ephyrInternalDamageBlockHandler,
 				ephyrInternalDamageWakeupHandler,

commit 38d8cfaaff0ae6273d9e921aae08b2706355f0d2
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Dec 28 15:48:25 2007 +0200

    OS: Don't leak connection translation table on regeneration
    (cherry picked from commit e868e0bc0d2318e62707d3ae68532b0029959154)

diff --git a/os/connection.c b/os/connection.c
index b944593..d1ba845 100644
--- a/os/connection.c
+++ b/os/connection.c
@@ -353,7 +353,8 @@ InitConnectionLimits(void)
 #endif
 
 #if !defined(WIN32)
-    ConnectionTranslation = (int *)xnfalloc(sizeof(int)*(lastfdesc + 1));
+    if (!ConnectionTranslation)
+        ConnectionTranslation = (int *)xnfalloc(sizeof(int)*(lastfdesc + 1));
 #else
     InitConnectionTranslation();
 #endif

commit 30fc8053a5e734c3b70156bdae94fd7d5d7865a5
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Dec 28 15:47:57 2007 +0200

    Config: HAL: Don't leak options on failure to add device
    
    This showed up in Xephyr in particular, which denies new device requests.
    (cherry picked from commit 2bb199056edf6c63cf978d1a8ad49a57ce1938f3)

diff --git a/config/hal.c b/config/hal.c
index 4427deb..16f16ec 100644
--- a/config/hal.c
+++ b/config/hal.c
@@ -92,6 +92,8 @@ add_option(InputOption **options, const char *key, const char *value)
     for (; *options; options = &(*options)->next)
         ;
     *options = xcalloc(sizeof(**options), 1);
+    if (!*options) /* Yeesh. */
+        return;
     (*options)->key = xstrdup(key);
     (*options)->value = xstrdup(value);
     (*options)->next = NULL;
@@ -156,7 +158,7 @@ device_added(LibHalContext *hal_ctx, const char *udi)
     char *path = NULL, *driver = NULL, *name = NULL, *xkb_rules = NULL;
     char *xkb_model = NULL, *xkb_layout = NULL, *xkb_variant = NULL;
     char *xkb_options = NULL, *config_info = NULL;
-    InputOption *options = NULL;
+    InputOption *options = NULL, *tmpo = NULL;
     DeviceIntPtr dev;
     DBusError error;
     int type = TYPE_NONE;
@@ -232,6 +234,7 @@ device_added(LibHalContext *hal_ctx, const char *udi)
 
     if (NewInputDeviceRequest(options, &dev) != Success) {
         DebugF("[config/hal] NewInputDeviceRequest failed\n");
+        dev = NULL;
         goto unwind;
     }
 
@@ -255,6 +258,12 @@ unwind:
         xfree(xkb_options);
     if (config_info)
         xfree(config_info);
+    while (!dev && (tmpo = options)) {
+        options = tmpo->next;
+        xfree(tmpo->key);
+        xfree(tmpo->value);
+        xfree(tmpo);
+    }
 
 out_error:
     dbus_error_free(&error);

commit 81c5950d0af8d5859f850b98c98a532784e9a757
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Fri Dec 28 15:47:21 2007 +0200

    Config: D-Bus: Don't leak timers
    
    TimerCancel doesn't free the timer: you need TimerFree for that.
    (cherry picked from commit 25deaa7e6b29b3913b35efa39b9c8b25de5e6d95)

diff --git a/config/dbus-core.c b/config/dbus-core.c
index eab72a5..9cf1530 100644
--- a/config/dbus-core.c
+++ b/config/dbus-core.c
@@ -76,7 +76,7 @@ teardown(void)
     struct config_dbus_core_hook *hook;
 
     if (bus_info.timer) {
-        TimerCancel(bus_info.timer);
+        TimerFree(bus_info.timer);
         bus_info.timer = NULL;
     }
 
@@ -116,6 +116,8 @@ message_filter(DBusConnection *connection, DBusMessage *message, void *data)
         bus_info.connection = NULL;
         teardown();
 
+        if (bus_info.timer)
+            TimerFree(bus_info.timer);
         bus_info.timer = TimerSet(NULL, 0, 1, reconnect_timer, NULL);
 
         return DBUS_HANDLER_RESULT_HANDLED;
@@ -186,6 +188,7 @@ static CARD32
 reconnect_timer(OsTimerPtr timer, CARD32 time, pointer arg)
 {
     if (connect_to_bus()) {
+        TimerFree(bus_info.timer);
         bus_info.timer = NULL;
         return 0;
     }

commit 6161ea74f28935f6409b44f26b542fe722f28792
Author: Julien Cristau <jcristau@debian.org>
Date:   Sat Dec 22 01:47:56 2007 +0100

    Prepare changelog for upload.

diff --git a/debian/changelog b/debian/changelog
index 02d681a..0b1ce76 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-xorg-server (2:1.4.1~git20071212-2) UNRELEASED; urgency=low
+xorg-server (2:1.4.1~git20071212-2) unstable; urgency=low
 
   * Add patch 08_xkb_infinite_loop.diff from upstream bug#13511: papers over
     an infinite loop in event processing (closes: #451989).
 
- -- Julien Cristau <jcristau@debian.org>  Thu, 13 Dec 2007 10:07:34 +0100
+ -- Julien Cristau <jcristau@debian.org>  Sat, 22 Dec 2007 00:02:01 +0100
 
 xorg-server (2:1.4.1~git20071212-1) unstable; urgency=low
 


Reply to: