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]