debian/changelog                                                               
      |   75 +++
 debian/patches/100_avoid_acpi_insanity.diff                                    
      |   12 
 debian/patches/108_fedora_honor_displaysize.patch                              
      |   21 +
 debian/patches/146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch   
      |  190 ++++++++++
 debian/patches/147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch   
      |   96 +++++
 
debian/patches/45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
 |   56 ++
 debian/patches/series                                                          
      |    5 
 debian/po/ja.po                                                                
      |   39 --
 dix/getevents.c                                                                
      |    2 
 xkb/xkbLEDs.c                                                                  
      |    3 
 10 files changed, 459 insertions(+), 40 deletions(-)

New commits:
commit fed68cf68679818d4b9a8507247858e8928e746a
Author: Timo Aaltonen <[EMAIL PROTECTED]>
Date:   Tue Feb 5 19:02:04 2008 +0200

    Drop patch 100_avoid_acpi_insanity.diff, superseded by patch 45.

diff --git a/debian/changelog b/debian/changelog
index b010db8..b4d8132 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,9 +8,6 @@ xorg-server (2:1.4.1~git20080131-1ubuntu1) hardy; urgency=low
       different compared to Dapper.
     - xvfb Depends on xauth, xfonts-base.
   * debian/patches:
-    - 100_avoid_acpi_insanity.diff
-      Don't send a configuration change event just because somebody's pressed
-      a brightness key.
     - 101_fedora-apm-typedefs.patch:
       Temporary hack from Fedora for broken kernels that don't publish the
       /dev/apm_bios types.
@@ -50,7 +47,8 @@ xorg-server (2:1.4.1~git20080131-1ubuntu1) hardy; urgency=low
   * 108_fedora_honor_displaysize.patch:
     - Patch from upstream/Fedora to honor the DisplaySize-setting.
       (LP: #135738, b.fd.o #9758)
-  
+  * Drop patch 100_avoid_acpi_insanity.diff, superseded by patch 45.
+
   [ Bart Trojanowski, Martin-Eric Racine ]
   * 146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
     - Restrict access to I/O ports in range 0-0xFF from x86emu.
@@ -59,7 +57,7 @@ xorg-server (2:1.4.1~git20080131-1ubuntu1) hardy; urgency=low
     - Fix improper emulation of PCI access General Software BIOS.
     (LP: #140051)
 
- -- Timo Aaltonen <[EMAIL PROTECTED]>  Tue, 05 Feb 2008 18:46:07 +0200
+ -- Timo Aaltonen <[EMAIL PROTECTED]>  Tue, 05 Feb 2008 18:57:14 +0200
 
 xorg-server (2:1.4.1~git20080131-1) unstable; urgency=low
 
diff --git a/debian/patches/100_avoid_acpi_insanity.diff 
b/debian/patches/100_avoid_acpi_insanity.diff
deleted file mode 100644
index 4d9b3fa..0000000
--- a/debian/patches/100_avoid_acpi_insanity.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur xorg-server-1.3.0.0.dfsg/hw/xfree86/os-support/linux/lnx_acpi.c 
xorg-server-1.3.0.0.dfsg.new/hw/xfree86/os-support/linux/lnx_acpi.c
---- xorg-server-1.3.0.0.dfsg/hw/xfree86/os-support/linux/lnx_acpi.c    
2006-11-16 18:01:25.000000000 +0000
-+++ xorg-server-1.3.0.0.dfsg.new/hw/xfree86/os-support/linux/lnx_acpi.c        
2007-08-26 16:14:34.000000000 +0100
-@@ -110,6 +110,8 @@
-               case ACPI_VIDEO_NOTIFY_PREV_OUTPUT:
-                       break;
-               default:
-+                      /* If it's not a switch notification, send nothing */
-+                      return 0;
-                       break;
-       }
- 
diff --git a/debian/patches/series b/debian/patches/series
index 06ced98..1b3439d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -23,7 +23,6 @@
 92_xprint-security-holes-fix.patch
 93_spooltodir_check_file_exists
 93_xprint_fonts_fix
-100_avoid_acpi_insanity.diff
 101_fedora-apm-typedefs.patch
 102_ubuntu_sharevts_load_cpu.patch
 103_fedora_openchrome.patch

commit 811f13cf796f285797b6d39635eeec75008f7619
Author: Timo Aaltonen <[EMAIL PROTECTED]>
Date:   Tue Feb 5 18:56:04 2008 +0200

    Add patches to fix broken -amd support.
    
      * 146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
        - Restrict access to I/O ports in range 0-0xFF from x86emu.
      * 147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch
        - Fix improper emulation of PCI access General Software BIOS.
    
    https://launchpad.net/bugs/140051

diff --git a/debian/changelog b/debian/changelog
index ac39184..b010db8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,6 @@
-xorg-server (2:1.4.1~git20080131-1ubuntu1) UNRELEASED; urgency=low
+xorg-server (2:1.4.1~git20080131-1ubuntu1) hardy; urgency=low
 
+  [ Timo Aaltonen ]
   * Merge with Debian unstable, remaining changes:
   * debian/control:
     - Change maintainer address.
@@ -49,8 +50,16 @@ xorg-server (2:1.4.1~git20080131-1ubuntu1) UNRELEASED; 
urgency=low
   * 108_fedora_honor_displaysize.patch:
     - Patch from upstream/Fedora to honor the DisplaySize-setting.
       (LP: #135738, b.fd.o #9758)
-
- -- Timo Aaltonen <[EMAIL PROTECTED]>  Tue, 05 Feb 2008 18:34:06 +0200
+  
+  [ Bart Trojanowski, Martin-Eric Racine ]
+  * 146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
+    - Restrict access to I/O ports in range 0-0xFF from x86emu.
+    (LP: #140051)
+  * 147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch
+    - Fix improper emulation of PCI access General Software BIOS.
+    (LP: #140051)
+
+ -- Timo Aaltonen <[EMAIL PROTECTED]>  Tue, 05 Feb 2008 18:46:07 +0200
 
 xorg-server (2:1.4.1~git20080131-1) unstable; urgency=low
 
diff --git 
a/debian/patches/146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch 
b/debian/patches/146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
new file mode 100644
index 0000000..e883d92
--- /dev/null
+++ 
b/debian/patches/146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
@@ -0,0 +1,190 @@
+From 6061612987ebba7ca65835e658b8d969be13a22d Mon Sep 17 00:00:00 2001
+From: Bart Trojanowski <[EMAIL PROTECTED]>
+Date: Fri, 11 Jan 2008 11:52:59 -0500
+Subject: [PATCH] X86EMU: added blacklist for I/O port in 0-0xFF range
+
+Signed-off-by: Bart Trojanowski <[EMAIL PROTECTED]>
+
+Work funded by: Symbio Technologies
+
+There seems to be an inconsistency between what the x86emu gets from the
+PCI handling code and by accessing hardware directly.  x86emu relies on
+a set of functions to emulate PCI access.  When things goes wrong, the
+emulator is asked to execute an OUT instruction on port 0x20.
+
+I've put together a patch against xserver-xorg package that prevents
+accesses to BAD registers.  This turns a freeze into a segfault in X.
+
+http://www.jukie.net/~bart/patches/xorg-server/20080111/0001-X86EMU-
+added-blacklist-for-I-O-port-in-0-0xFF-range.patch
+
+It does not address the DDC not working, I hope that after fixing the
+bugs in x86emu, things may improve.
+
+Anyway, I am continuing to investigate the real cause of the PCI access
+issue.  To find out more read this thread:
+
+http://lists.freedesktop.org/archives/xorg/2008-January/031811.html
+
+-Bart
+
+
+diff -Nurp xorg-server-1.4.1~git20080118/hw/xfree86/int10/helper_exec.c 
xorg-server-1.4.1~git20080118-working/hw/xfree86/int10/helper_exec.c
+--- xorg-server-1.4.1~git20080118/hw/xfree86/int10/helper_exec.c       
2008-01-18 13:23:40.000000000 -0800
++++ xorg-server-1.4.1~git20080118-working/hw/xfree86/int10/helper_exec.c       
2008-01-22 09:53:27.000000000 -0800
+@@ -21,6 +21,8 @@
+ #define PRINT_PORT 0
+ 
+ #include <unistd.h>
++#include <sys/types.h>
++#include <signal.h>
+ 
+ #include <X11/Xos.h>
+ #include "xf86.h"
+@@ -210,6 +212,72 @@ stack_trace(xf86Int10InfoPtr pInt)
+       xf86ErrorFVerb(3, "\n");
+ }
+ 
++enum port_action_e {
++      PORT_ACTION_PERMIT,
++      PORT_ACTION_WARN,
++      PORT_ACTION_BAIL,
++      PORT_ACTION_MAX
++};
++
++static const struct port_range {
++      CARD16 start, end;
++      enum port_action_e access;
++} port_range_table[] = {
++      // NOTE: port ranges are non overlapping and sorted
++      { 0x00, 0x1f, PORT_ACTION_BAIL },       // DMA
++      { 0x20, 0x21, PORT_ACTION_BAIL },       // PIC
++      { 0x40, 0x47, PORT_ACTION_BAIL },       // PIT 1&2
++      { 0x50, 0x53, PORT_ACTION_BAIL },
++      { 0x70, 0x77, PORT_ACTION_BAIL },       // CMOS/RTC
++      { 0x81, 0x8f, PORT_ACTION_BAIL },       // DIAG REGS
++      { 0xa0, 0xa1, PORT_ACTION_BAIL },       // PIC2
++      { 0xc0, 0xdf, PORT_ACTION_BAIL },       // DMA
++};
++#define ARRAY_SIZE(X) (sizeof((X)) / (sizeof(*(X))))
++#define ARRAY_END(X)  (&((X)[ARRAY_SIZE(X)]))
++
++static void assert_port_access_allowed (CARD16 port, CARD16 width)
++{
++      CARD16 access_start, access_end;
++      const struct port_range *pr, *pr_start, *pr_end;
++
++      access_start = port;
++      access_end = port + width - 1;
++
++      // TODO: if the list gets too long we should do a binary search
++      //        or convert the port list to a bitmap representation
++      pr_start = port_range_table;
++      pr_end   = ARRAY_END(port_range_table);
++
++      for (pr = pr_start; pr < pr_end; pr++) {
++              if (access_end < pr->start)
++                      continue;
++              if (access_start > pr->end)
++                      break;
++
++              // we are in the pr range now
++              switch (pr->access) {
++              default:
++                      continue;
++              case PORT_ACTION_BAIL:
++              case PORT_ACTION_WARN:
++                      break;
++              }
++
++              ErrorF("Emulator asked to make a suspect %saccess to "
++                              "port %u (0x%04x)%s\n",
++                              (width == 1) ? "byte " :
++                              (width == 2) ? "word " :
++                              (width == 4) ? "long " : "",
++                              port, port,
++                              (pr->access == PORT_ACTION_BAIL)
++                              ? "; terminating." : "ignoring.");
++
++              if (pr->access == PORT_ACTION_BAIL)
++                      kill(getpid(), SIGSEGV);
++      }
++}
++
+ int
+ port_rep_inb(xf86Int10InfoPtr pInt,
+            CARD16 port, CARD32 base, int d_f, CARD32 count)
+@@ -319,7 +387,7 @@ x_inb(CARD16 port)
+           ErrorF(" inb(%#x) = %2.2x\n", port, val);
+ #ifdef __NOT_YET__
+     } else if (port < 0x0100) {               /* Don't interfere with 
mainboard */
+-      val = 0;
++        val = 0;
+       xf86DrvMsgVerb(Int10Current->scrnIndex, X_NOT_IMPLEMENTED, 2,
+           "inb 0x%4.4x\n", port);
+       if (xf86GetVerbosity() > 3) {
+@@ -327,10 +395,14 @@ x_inb(CARD16 port)
+           stack_trace(Int10Current);
+       }
+ #endif /* __NOT_YET__ */
+-    } else if (!pciCfg1inb(port, &val)) {
+-      val = inb(Int10Current->ioBase + port);
+-      if (PRINT_PORT && DEBUG_IO_TRACE())
+-          ErrorF(" inb(%#x) = %2.2x\n", port, val);
++    } else {
++      assert_port_access_allowed (port, sizeof(val));
++
++        if (!pciCfg1inb(port, &val)) {
++            val = inb(Int10Current->ioBase + port);
++            if (PRINT_PORT && DEBUG_IO_TRACE())
++                ErrorF(" inb(%#x) = %2.2x\n", port, val);
++        }
+     }
+     return val;
+ }
+@@ -349,10 +421,14 @@ x_inw(CARD16 port)
+        */
+       X_GETTIMEOFDAY(&tv);
+       val = (CARD16)(tv.tv_usec / 3);
+-    } else if (!pciCfg1inw(port, &val)) {
+-      val = inw(Int10Current->ioBase + port);
+-      if (PRINT_PORT && DEBUG_IO_TRACE())
+-          ErrorF(" inw(%#x) = %4.4x\n", port, val);
++    } else {
++      assert_port_access_allowed (port, sizeof(val));
++
++        if (!pciCfg1inw(port, &val)) {
++            val = inw(Int10Current->ioBase + port);
++            if (PRINT_PORT && DEBUG_IO_TRACE())
++                ErrorF(" inw(%#x) = %4.4x\n", port, val);
++        }
+     }
+     return val;
+ }
+@@ -384,6 +460,8 @@ x_outb(CARD16 port, CARD8 val)
+     } else if (!pciCfg1outb(port, val)) {
+       if (PRINT_PORT && DEBUG_IO_TRACE())
+           ErrorF(" outb(%#x, %2.2x)\n", port, val);
++
++      assert_port_access_allowed (port, sizeof(val));
+       outb(Int10Current->ioBase + port, val);
+     }
+ }
+@@ -404,6 +482,8 @@ x_inl(CARD16 port)
+ {
+     CARD32 val;
+ 
++    assert_port_access_allowed (port, sizeof(val));
++
+     if (!pciCfg1in(port, &val)) {
+       val = inl(Int10Current->ioBase + port);
+       if (PRINT_PORT && DEBUG_IO_TRACE())
+@@ -418,6 +498,8 @@ x_outl(CARD16 port, CARD32 val)
+     if (!pciCfg1out(port, val)) {
+       if (PRINT_PORT && DEBUG_IO_TRACE())
+           ErrorF(" outl(%#x, %8.8x)\n", port, val);
++
++      assert_port_access_allowed (port, sizeof(val));
+       outl(Int10Current->ioBase + port, val);
+     }
+ }
diff --git 
a/debian/patches/147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch 
b/debian/patches/147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch
new file mode 100644
index 0000000..cfc7116
--- /dev/null
+++ 
b/debian/patches/147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch
@@ -0,0 +1,96 @@
+From 9c17439807c80876bf7027b17859714b31401ab9 Mon Sep 17 00:00:00 2001
+From: Bart Trojanowski <[EMAIL PROTECTED]>
+Date: Fri, 11 Jan 2008 19:59:54 -0500
+Subject: [PATCH] X86EMU: pass the correct bus:dev:fn tag to pci emulation
+
+Signed-off-by: Bart Trojanowski <[EMAIL PROTECTED]>
+
+Work funded by: Symbio Technologies
+
+There seems to be an inconsistency between what the x86emu gets from the
+PCI handling code and by accessing hardware directly.  x86emu relies on
+a set of functions to emulate PCI access.  When things goes wrong, the
+emulator is asked to execute an OUT instruction on port 0x20.
+
+I've put together a patch against xserver-xorg package that prevents
+accesses to BAD registers.  This turns a freeze into a segfault in X.
+
+http://www.jukie.net/~bart/patches/xorg-server/20080111/0001-X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
+
+It does not address the DDC not working, I hope that after fixing the
+bugs in x86emu, things may improve.
+
+Anyway, I am continuing to investigate the real cause of the PCI access
+issue.  To find out more read this thread:
+
+http://lists.freedesktop.org/archives/xorg/2008-January/031811.html
+
+-Bart
+
+diff -Nurp 
xorg-server-1.4.1~git20080118-patched/hw/xfree86/int10/helper_exec.c 
xorg-server-1.4.1~git20080118-working/hw/xfree86/int10/helper_exec.c
+--- xorg-server-1.4.1~git20080118-patched/hw/xfree86/int10/helper_exec.c       
2008-01-22 10:22:26.000000000 -0800
++++ xorg-server-1.4.1~git20080118-working/hw/xfree86/int10/helper_exec.c       
2008-01-22 11:00:52.000000000 -0800
+@@ -542,7 +542,8 @@ Mem_wl(CARD32 addr, CARD32 val)
+ 
+ static CARD32 PciCfg1Addr = 0;
+ 
+-#define OFFSET(Cfg1Addr) (Cfg1Addr & 0xff)
++#define PCI_OFFSET(x) ((x) & 0x000000ff)
++#define PCI_TAG(x)    ((x) & 0x00ffff00)
+ 
+ static int
+ pciCfg1in(CARD16 addr, CARD32 *val)
+@@ -552,7 +553,7 @@ pciCfg1in(CARD16 addr, CARD32 *val)
+       return 1;
+     }
+     if (addr == 0xCFC) {
+-      *val = pciReadLong(Int10Current->Tag, OFFSET(PciCfg1Addr));
++      *val = pciReadLong(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr));
+       if (PRINT_PORT && DEBUG_IO_TRACE())
+           ErrorF(" cfg_inl(%#x) = %8.8x\n", PciCfg1Addr, *val);
+       return 1;
+@@ -570,7 +571,7 @@ pciCfg1out(CARD16 addr, CARD32 val)
+     if (addr == 0xCFC) {
+       if (PRINT_PORT && DEBUG_IO_TRACE())
+           ErrorF(" cfg_outl(%#x, %8.8x)\n", PciCfg1Addr, val);
+-      pciWriteLong(Int10Current->Tag, OFFSET(PciCfg1Addr), val);
++      pciWriteLong(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr), val);
+       return 1;
+     }
+     return 0;
+@@ -588,7 +589,7 @@ pciCfg1inw(CARD16 addr, CARD16 *val)
+     }
+     if ((addr >= 0xCFC) && (addr <= 0xCFF)) {
+       offset = addr - 0xCFC;
+-      *val = pciReadWord(Int10Current->Tag, OFFSET(PciCfg1Addr) + offset);
++      *val = pciReadWord(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr) + 
offset);
+       if (PRINT_PORT && DEBUG_IO_TRACE())
+           ErrorF(" cfg_inw(%#x) = %4.4x\n", PciCfg1Addr + offset, *val);
+       return 1;
+@@ -611,7 +612,7 @@ pciCfg1outw(CARD16 addr, CARD16 val)
+       offset = addr - 0xCFC;
+       if (PRINT_PORT && DEBUG_IO_TRACE())
+           ErrorF(" cfg_outw(%#x, %4.4x)\n", PciCfg1Addr + offset, val);
+-      pciWriteWord(Int10Current->Tag, OFFSET(PciCfg1Addr) + offset, val);
++      pciWriteWord(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr) + offset, 
val);
+       return 1;
+     }
+     return 0;
+@@ -629,7 +630,7 @@ pciCfg1inb(CARD16 addr, CARD8 *val)
+     }
+     if ((addr >= 0xCFC) && (addr <= 0xCFF)) {
+       offset = addr - 0xCFC;
+-      *val = pciReadByte(Int10Current->Tag, OFFSET(PciCfg1Addr) + offset);
++      *val = pciReadByte(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr) + 
offset);
+       if (PRINT_PORT && DEBUG_IO_TRACE())
+           ErrorF(" cfg_inb(%#x) = %2.2x\n", PciCfg1Addr + offset, *val);
+       return 1;
+@@ -652,7 +653,7 @@ pciCfg1outb(CARD16 addr, CARD8 val)
+       offset = addr - 0xCFC;
+       if (PRINT_PORT && DEBUG_IO_TRACE())
+           ErrorF(" cfg_outb(%#x, %2.2x)\n", PciCfg1Addr + offset, val);
+-      pciWriteByte(Int10Current->Tag, OFFSET(PciCfg1Addr) + offset, val);
++      pciWriteByte(PCI_TAG(PciCfg1Addr), PCI_OFFSET(PciCfg1Addr) + offset, 
val);
+       return 1;
+     }
+     return 0;
diff --git a/debian/patches/series b/debian/patches/series
index 4411d13..06ced98 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -40,3 +40,5 @@
 139_fedora_xserver-1.3.0-document-fontpath-correctly.patch
 142_fedora_xserver-1.3.0-no-pseudocolor-composite.patch
 144_fedora_xserver-1.3.0-xnest-exposures.patch
+146_X86EMU-added-blacklist-for-I-O-port-in-0-0xFF-range.patch
+147_X86EMU-pass-the-correct-bus-dev-fn-tag-to-pci-emula.patch

commit 9575d679f6f5a3b1aac016cfbefde85bf4de6c60
Author: Timo Aaltonen <[EMAIL PROTECTED]>
Date:   Tue Feb 5 18:42:31 2008 +0200

    Patch from upstream/Fedora to honor the DisplaySize-setting.
    
    https://launchpad.net/bugs/135738
    https://bugs.freedesktop.org/show_bug.cgi?id=9758

diff --git a/debian/changelog b/debian/changelog
index 2cc038f..ac39184 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -46,8 +46,11 @@ xorg-server (2:1.4.1~git20080131-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.
+  * 108_fedora_honor_displaysize.patch:
+    - Patch from upstream/Fedora to honor the DisplaySize-setting.
+      (LP: #135738, b.fd.o #9758)
 
- -- Timo Aaltonen <[EMAIL PROTECTED]>  Sat, 19 Jan 2008 02:40:00 +0200
+ -- Timo Aaltonen <[EMAIL PROTECTED]>  Tue, 05 Feb 2008 18:34:06 +0200
 
 xorg-server (2:1.4.1~git20080131-1) unstable; urgency=low
 
diff --git a/debian/patches/108_fedora_honor_displaysize.patch 
b/debian/patches/108_fedora_honor_displaysize.patch
new file mode 100644
index 0000000..2dd4977
--- /dev/null
+++ b/debian/patches/108_fedora_honor_displaysize.patch
@@ -0,0 +1,21 @@
+From: Adam Jackson <[EMAIL PROTECTED]>
+Date: Sun, 28 Oct 2007 09:37:52 +0100
+Subject: [PATCH] Honor the Monitor section's DisplaySize directive.
+
+---
+diff -up xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c.da 
xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c
+--- xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c.da    2007-09-26 
17:04:02.000000000 +1000
++++ xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c       2007-09-26 
17:04:27.000000000 +1000
+@@ -401,8 +401,10 @@ xf86DDCMonitorSet(int scrnIndex, MonPtr 
+ 
+     Monitor->DDC = DDC;
+ 
+-    Monitor->widthmm = 10 * DDC->features.hsize;
+-    Monitor->heightmm = 10 * DDC->features.vsize;
++    if (Monitor->widthmm <= 0 && Monitor->heightmm <= 0) {
++        Monitor->widthmm = 10 * DDC->features.hsize;
++        Monitor->heightmm = 10 * DDC->features.vsize;
++    }
+ 
+     /* If this is a digital display, then we can use reduced blanking */
+     if (DDC->features.input_type)
diff --git a/debian/patches/series b/debian/patches/series
index e00feab..4411d13 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -31,6 +31,7 @@
 105_reduce_wakeups_from_smart_scheduler.diff
 106_ubuntu_fpic_libxf86config.patch
 107_fedora_dont_backfill_bg_none.patch
+108_fedora_honor_displaysize.patch
 110_fedora_no_move_damage.patch
 120_fedora_xserver-xaa-evict-pixmaps.patch
 121_only_switch_vt_when_active.diff

commit 9699eee47d5467dbdf7a4920ccfabd20a2bad12b
Author: David Nusinow <[EMAIL PROTECTED]>
Date:   Thu Jan 31 22:39:15 2008 -0500

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index 40243c5..ad9f99a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.4.1~git20080118-2) UNRELEASED; urgency=low
+xorg-server (2:1.4.1~git20080131-1) unstable; urgency=low
 
   [ Brice Goglin ]
   * Add 45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
@@ -7,8 +7,10 @@ xorg-server (2:1.4.1~git20080118-2) UNRELEASED; urgency=low
 
   [ David Nusinow ]
   * Update Japanese translation from Hideki Yamane. closes: #462761
+  * New upstream pull
+    + Fixes crashes due to absent LED's being referenced
 
- -- David Nusinow <[EMAIL PROTECTED]>  Sun, 27 Jan 2008 11:18:41 -0500
+ -- David Nusinow <[EMAIL PROTECTED]>  Thu, 31 Jan 2008 21:43:12 -0500
 
 xorg-server (2:1.4.1~git20080118-1) unstable; urgency=low
 

commit bc72ef3a159efd67067322c043bba444869dc356
Author: Peter Hutterer <[EMAIL PROTECTED]>
Date:   Wed Jan 30 10:39:54 2008 +1030

    xkb: don't update LEDs if they don't exist. (Bug #13961)
    
    In some weird cases we call this function when there is no SrvLedInfo on the
    device. And it turns out null-pointer dereferences are bad.
    
    X.Org Bug 13961 <http://bugs.freedesktop.org/show_bug.cgi?id=13961>
    (cherry picked from commit d954f9c80348de294602d931d387e5cd1ef4b9a5)

diff --git a/xkb/xkbLEDs.c b/xkb/xkbLEDs.c
index d607d90..d28973c 100644
--- a/xkb/xkbLEDs.c
+++ b/xkb/xkbLEDs.c
@@ -63,6 +63,9 @@ XkbSrvLedInfoPtr      sli;
 
     sli= XkbFindSrvLedInfo(dev,XkbDfltXIClass,XkbDfltXIId,0);
 
+    if (!sli)
+        return update;
+
     if (state_changes&(XkbModifierStateMask|XkbGroupStateMask))
        update|= sli->usesEffective;
     if (state_changes&(XkbModifierBaseMask|XkbGroupBaseMask))

commit e98027c3ac7195fec665ef393d980b02870ca1b8
Author: Peter Hutterer <[EMAIL PROTECTED]>
Date:   Tue Dec 18 13:57:07 2007 +1030

    dix: set the correct number of valuators in valuator events.
    
    (first_valuator + num_valuators) must never be larger than the number of 
axes,
    otherwise DIX freaks out. And from looking at libXI, anything larger than 6 
is
    wrong too.
    (cherry picked from commit 9f6ae61ad12cc2813d04405458e1ca5aed8a539e)

diff --git a/dix/getevents.c b/dix/getevents.c
index 12d8189..b7ba69b 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -344,7 +344,7 @@ getValuatorEvents(xEvent *events, DeviceIntPtr pDev, int 
first_valuator,
     for (i = first_valuator; i < final_valuator; i += 6, xv++, events++) {
         xv->type = DeviceValuator;
         xv->first_valuator = i;
-        xv->num_valuators = num_valuators;
+        xv->num_valuators = ((num_valuators - i) > 6) ? 6 : (num_valuators - 
i);
         xv->deviceid = pDev->id;
         switch (final_valuator - i) {
         case 6:

commit 8d2c79b8231ea63afe5525c5e8077281881f2831
Author: David Nusinow <[EMAIL PROTECTED]>
Date:   Sun Jan 27 11:21:07 2008 -0500

    * Update Japanese translation from Hideki Yamane. closes: #462761

diff --git a/debian/changelog b/debian/changelog
index 9a073a3..40243c5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,14 @@
 xorg-server (2:1.4.1~git20080118-2) UNRELEASED; urgency=low
 
+  [ Brice Goglin ]
   * Add 45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
     to prevent XF86_APM_CAPABILITY_CHANGED from being issued for all ACPI
     events, thanks Sjoerd Simons, closes: #461463.
 
- -- Brice Goglin <[EMAIL PROTECTED]>  Fri, 18 Jan 2008 23:27:43 +0100
+  [ David Nusinow ]
+  * Update Japanese translation from Hideki Yamane. closes: #462761
+
+ -- David Nusinow <[EMAIL PROTECTED]>  Sun, 27 Jan 2008 11:18:41 -0500
 
 xorg-server (2:1.4.1~git20080118-1) unstable; urgency=low
 
diff --git a/debian/po/ja.po b/debian/po/ja.po
index d3beb5e..0ca2faa 100644
--- a/debian/po/ja.po
+++ b/debian/po/ja.po
@@ -14,49 +14,35 @@
 # 
 msgid ""
 msgstr ""
-"Project-Id-Version: xprint \n"
+"Project-Id-Version: xorg-server 2:1.4.1~git20080118-1\n"
 "Report-Msgid-Bugs-To: [EMAIL PROTECTED]"
 "POT-Creation-Date: 2007-09-18 20:35+0200\n"
-"PO-Revision-Date: 2005-03-26 16:42+0900\n"
-"Last-Translator: Hideki Yamane <[EMAIL PROTECTED]>\n"
+"PO-Revision-Date: 2008-01-27 19:52+0900\n"
+"Last-Translator: Hideki Yamane (Debian-JP) <[EMAIL PROTECTED]>\n"
 "Language-Team: Japanese <[EMAIL PROTECTED]>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-JP\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 #. Type: string
 #. Description
 #: ../xprint-common.templates:2001
-#, fuzzy
-#| msgid "Default printer resolution"
 msgid "Default printer resolution:"
-msgstr "�ǥե����ȤǤΥץ��󥿲����٤ˤĤ���"
+msgstr "デフォルトのプリンタ解像度:"
 
 #. Type: string
 #. Description
 #: ../xprint-common.templates:2001
-#, fuzzy
-#| msgid ""
-#| "By default Xprint assumes a printer resolution of 600dpi. This should be "
-#| "fine for the majority of printers today."
 msgid ""
 "By default, Xprint assumes a printer resolution of 600 dpi. This should be "
 "well suited for the majority of printers."
 msgstr ""
-"Xprint �ϡ��ǥե����ȤǤϥץ��󥿤β����٤� 600dpi �Ȥ��Ƥ��ޤ������ߤΥץ���"
-"���Ǥϡ��ۤȤ��ɤ����ͤ��ɤ��Ǥ��礦��"
+"デフォルトでは、Xprint はプリンタの解像度を 600dpi としています。ほとんどのプリン"
+"タでは、ほとんどこの値で良いでしょう。"
 
 #. Type: string
 #. Description
 #: ../xprint-common.templates:2001
-#, fuzzy
-#| msgid ""
-#| "On certain 1200dpi printers, however, the image might appear squashed in "
-#| "the corner of the page, or it might be blown up too large on 300dpi "
-#| "printers. If you are experiencing these kinds of printing problems, you "
-#| "may want to set the default printer resolution to a more appropriate "
-#| "value. See /usr/share/doc/xprint-common/README.printing-problems.gz for "
-#| "more details."
 msgid ""
 "On certain 1200 dpi printers, however, the image might appear squashed in "
 "the corner of the page, or it might be blown up too large on 300 dpi "
@@ -64,8 +50,9 @@ msgid ""
 "set the default printer resolution to a more appropriate value. See /usr/"
 "share/doc/xprint-common/README.printing-problems.gz for more details."
 msgstr ""
-"��������1200dpi �����Υץ��󥿤Ǥϰ������줿�����ϥڡ����ζ��˵ͤ��ư�������"
-"�Ƥ��ޤ��ޤ�����300dpi �Υץ��󥿤Ǥ��礭���ʤꤹ���Ƥ��ޤ��ޤ��������ͤʰ���"
-"�����٤�������������硢�ץ��󥿤β����٤�����Ŭ�ڤ��ͤ��ѹ��������ʤ���"
-"���礦�����ܺ٤ˤĤ��Ƥϡ�/usr/share/doc/xprint-common/README.printing-"
-"problems.gz �򻲾Ȥ��Ƥ���������"
+"しかし、1200dpi 固定のプリンタでは印刷された画像はページの隅に詰めて印刷され"
+"てしまいますし、300dpi のプリンタでは大きくなりすぎてしまいます。この様な印刷"
+"時の問題に遭遇した場合、プリンタの解像度をより適切な値に変更したくなるでしょう。"
+"詳細については、/usr/share/doc/xprint-common/README.printing-problems.gz "
+"を参照してください。"
+

commit 9ffbe1bc5e1e95774593e28a61093a1e0bdf6913
Author: Brice Goglin <[EMAIL PROTECTED]>
Date:   Fri Jan 18 23:33:16 2008 +0100

    Add 45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff

diff --git a/debian/changelog b/debian/changelog
index 02175b7..9a073a3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+xorg-server (2:1.4.1~git20080118-2) UNRELEASED; urgency=low
+
+  * Add 45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
+    to prevent XF86_APM_CAPABILITY_CHANGED from being issued for all ACPI
+    events, thanks Sjoerd Simons, closes: #461463.
+
+ -- Brice Goglin <[EMAIL PROTECTED]>  Fri, 18 Jan 2008 23:27:43 +0100
+
 xorg-server (2:1.4.1~git20080118-1) unstable; urgency=low
 
   [ Brice Goglin ]
diff --git 
a/debian/patches/45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
 
b/debian/patches/45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
new file mode 100644
index 0000000..56d5c98
--- /dev/null
+++ 
b/debian/patches/45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
@@ -0,0 +1,56 @@
+commit 74e84b8d891632141a60e2d29463ab46f622df3f
+Author: Matthias Hopf <[EMAIL PROTECTED]>
+Date:   Fri Oct 19 17:28:15 2007 +0200
+
+    Only issue XF86_APM_CAPABILITY_CHANGED for video change ACPI events (not 
e.g. brightness etc.).
+
+diff --git a/hw/xfree86/os-support/linux/lnx_acpi.c 
b/hw/xfree86/os-support/linux/lnx_acpi.c
+index 9808e37..bb975cc 100644
+--- a/hw/xfree86/os-support/linux/lnx_acpi.c
++++ b/hw/xfree86/os-support/linux/lnx_acpi.c
+@@ -69,9 +69,11 @@ lnxACPIGetEventFromOs(int fd, pmEvent *events, int num)
+       TimerSet(NULL, 0, ACPI_REOPEN_DELAY, lnxACPIReopen, NULL);
+       return 0;
+     }
++    /* FIXME: this only processes the first read ACPI event & might break
++     * with interrupted reads. */
+     
+     /* Check that we have a video event */
+-    if (strstr(ev, "video") == ev) {
++    if (!strncmp(ev, "video", 5)) {
+       char *video = NULL;
+       char *GFX = NULL;
+       char *notify = NULL;
+@@ -97,26 +99,19 @@ lnxACPIGetEventFromOs(int fd, pmEvent *events, int num)
+       ErrorF("data: 0x%lx\n",data_l);
+ #endif
+ 
+-      /* We currently don't differentiate between any event */
++      /* Differentiate between events */
+       switch (notify_l) {
+               case ACPI_VIDEO_NOTIFY_SWITCH:
+-                      break;
+-              case ACPI_VIDEO_NOTIFY_PROBE:
+-                      break;
+               case ACPI_VIDEO_NOTIFY_CYCLE:
+-                      break;
+               case ACPI_VIDEO_NOTIFY_NEXT_OUTPUT:
+-                      break;
+               case ACPI_VIDEO_NOTIFY_PREV_OUTPUT:
+-                      break;
++                  events[0] = XF86_APM_CAPABILITY_CHANGED;
++                  return 1;
++              case ACPI_VIDEO_NOTIFY_PROBE:
++                  return 0;
+               default:
+-                      break;
++                  return 0;
+       }
+-
+-      /* Deal with all ACPI events as a capability change */
+-        events[0] = XF86_APM_CAPABILITY_CHANGED;
+-
+-      return 1;
+     }
+     
+     return 0;
diff --git a/debian/patches/series b/debian/patches/series
index 1612b7e..93b3c1a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -15,6 +15,7 @@
 42_dont_break_grab_and_focus_for_window_when_redirecting.diff
 43_allow_override_BIOS_EDID_preferred_mode.diff
 44_preferredmode_infinite_loop.diff
+45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
 #47_fbdevhw_magic_numbers.diff
 #51_xkb-and-loathing.diff
 91_ttf2pt1


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to