xorg-server: Changes to 'ubuntu'
debian/changelog | 36
debian/control | 1
debian/patches/103_inputproto_1.4.3_is_fine.patch | 11
debian/patches/103_psb_auto.patch | 32
debian/patches/110_fedora_no_move_damage.patch | 8
debian/patches/136_fedora_force_switchcorekeyboard_for_evdev.patch | 69
debian/patches/137_add_device_property_support.patch | 1290 ----------
debian/patches/138_look_at_all_bytes_of_dev_enabled.diff | 63
debian/patches/141_improved_driver_selection.patch | 338 --
debian/patches/142_psb_auto.patch | 32
debian/patches/150_dont-update-vcp-valuators.patch | 43
debian/patches/150_no_visibility_notify_on_unredirect.patch | 12
debian/patches/151_allow-null-as-rulesfile.patch | 68
debian/patches/152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch | 56
debian/patches/153_make_dmx_compile.patch | 47
debian/patches/series | 12
debian/serverminver | 2
17 files changed, 291 insertions(+), 1829 deletions(-)
New commits:
commit 7318f5087319aab8e1a5969e859d4af62f4acad8
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Fri Dec 12 22:33:41 2008 +0200
patch 153 is not from the proposed queue, clarify the changelog.
diff --git a/debian/changelog b/debian/changelog
index 8d320f6..cc7104e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -20,8 +20,8 @@ xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low
- 152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch
Rather than assuming rules in the CoreKeyboardProc, init the default
rules in InitCoreDevices, then re-use them later.
- - 153_make_dmx_compile.patch
- Change xcalloc -> calloc, so that dmx compiles. Not tested if it
+ * Add 153_make_dmx_compile.patch
+ - Change xcalloc -> calloc, so that dmx compiles. Not tested if it
also works.
* Drop patch 136, since SwitchCoreKeyboard is gone, and patches 151/152
basically reimplement the functionality.
commit 4f578030f1577b8f2fdec7975c805623bf07e0bb
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Fri Dec 12 22:19:28 2008 +0200
Bump the serverminver, add conflicts to old xserver-xorg-{input,video} versions
diff --git a/debian/changelog b/debian/changelog
index 94360db..553b6b8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.5.99.2-1) UNRELEASED; urgency=low
+xorg-server (2:1.5.99.3-1) UNRELEASED; urgency=low
* New upstream beta version.
* debian/control:
@@ -11,6 +11,7 @@ xorg-server (2:1.5.99.2-1) UNRELEASED; urgency=low
- Bump the libgl1-mesa-dev and mesa-common-dev build-dep to
7.2+git20081209.a0d5c3cf.
- Add a build-dep on libxinerama-dev.
+ - Conflict xserver-xorg-video-4, xserver-xorg-input-2.1.
* debian/rules:
- Enable dri2 again.
* debian/patches:
@@ -19,7 +20,8 @@ xorg-server (2:1.5.99.2-1) UNRELEASED; urgency=low
- Dropped, implemented upstream.
13_debian_add_xkbpath_env_variable.diff
- Disabled for now, needs to be reimplemented or dropped.
- * debian/*abiver: Bump the input (4) and videoabiver (5).
+ * debian/{input,video}abiver: Bump the input (4) and videoabiver (5).
+ * debian/serverminver: Bump to 2:1.5.99.3.
-- Timo Aaltonen <tjaalton@ubuntu.com> Mon, 08 Dec 2008 08:39:38 +0200
diff --git a/debian/control b/debian/control
index ffe944b..2ba7862 100644
--- a/debian/control
+++ b/debian/control
@@ -47,7 +47,8 @@ Suggests: xfonts-100dpi | xfonts-75dpi, xfonts-scalable
Conflicts: xserver-xorg (<< 6.8.2-38), xserver-xfree86 (<< 1:7.0.0),
xserver-xorg-video, xserver-common (<< 7), xserver-xorg-video-1.0, xserver-xorg-input,
xserver-xorg-video-1.9, xserver-xorg-input-wacom (<< 0.7.8),
- xserver-xorg-video-2, xserver-xorg-input-2
+ xserver-xorg-video-2, xserver-xorg-input-2,
+ xserver-xorg-video-4, xserver-xorg-input-2.1
Replaces: xserver-xorg (<< 6.8.2-38), xserver-xfree86 (<< 1:7.0.0),
xserver-common (<< 7)
Provides: xserver
diff --git a/debian/serverminver b/debian/serverminver
index 90a72d1..8b40438 100644
--- a/debian/serverminver
+++ b/debian/serverminver
@@ -1 +1 @@
-2:1.4.99.905
+2:1.5.99.3
commit 7e2df677503166803b920613c9f8766aad014096
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Fri Dec 12 21:36:54 2008 +0200
Drop patch 136 for good
SwitchCoreKeyboard is gone, and patches 151/152 basically reimplement the
functionality.
diff --git a/debian/changelog b/debian/changelog
index 83a55e7..0641a71 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -23,8 +23,8 @@ xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low
- 153_make_dmx_compile.patch
Change xcalloc -> calloc, so that dmx compiles. Not tested if it
also works.
- * Disable patch 136 for now, since it makes the build fail. Discuss
- with upstream to see if it's needed anymore.
+ * Drop patch 136, since SwitchCoreKeyboard is gone, and patches 151/152
+ basically reimplement the functionality.
-- Timo Aaltonen <tjaalton@ubuntu.com> Thu, 11 Dec 2008 19:15:09 +0200
diff --git a/debian/patches/136_fedora_force_switchcorekeyboard_for_evdev.patch b/debian/patches/136_fedora_force_switchcorekeyboard_for_evdev.patch
deleted file mode 100644
index 2ac6095..0000000
--- a/debian/patches/136_fedora_force_switchcorekeyboard_for_evdev.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 638cab7e1dc3711f7fb04155bcdabf4b8895cc5e Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Mon, 4 Aug 2008 17:08:36 +0930
-Subject: [PATCH] xfree86: force SwitchCoreKeyboard for evdev devices (updated).
-
-If an evdev keyboard device is added through the HAL mechanism, force a
-SwitchCoreKeyboard to load the evdev map into the VCK. This way, by the time a
-client starts the evdev keymap is already there, leading to less pain lateron.
-
-Works if:
-- all keyboards are hotplugged through HAL, and/or
-- the xorg.conf keyboard uses the kbd driver.
-
-Has no effect (i.e. busted keymaps) if:
-- an evdev keyboard device has been specified in the xorg.conf.
-- we don't have a device at startup and plug a device in after starting the
- desktop environment.
-- if the device we use isn't the first one reported by HAL.
-
-If HAL isn't set up, this patch is a noop.
----
- hw/xfree86/common/xf86Xinput.c | 31 +++++++++++++++++++++++++++++++
- 1 files changed, 31 insertions(+), 0 deletions(-)
-
-diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
-index 710e787..dacc3dc 100644
---- a/hw/xfree86/common/xf86Xinput.c
-+++ b/hw/xfree86/common/xf86Xinput.c
-@@ -423,6 +423,37 @@ NewInputDeviceRequest (InputOption *options, DeviceIntPtr *pdev)
- (!is_auto || xf86Info.autoEnableDevices))
- EnableDevice(dev);
-
-+ /* XXX: The VCK always starts with built-in defaults for keymap. These
-+ * defaults are different to the evdev ones. When the first key is hit on
-+ * an extension device, the keymap is copied into the VCK's and any
-+ * changes made at runtime to the VCK map are lost.
-+ *
-+ * Assumption: if we have at least one evdev keyboard device, we can
-+ * ignore kbd devices. Force a SwitchCoreKeyboard so the VCK has the same
-+ * keymap as we do.
-+ *
-+ * Next time we hit a key, we don't change the map over anymore (see
-+ * SwitchCoreKeyboard), and live happily ever after.
-+ * Until we have 2 physical keyboards. Or the first real keyboard isn't
-+ * actually the one we use. Oh well.
-+ *
-+ */
-+ if (dev->key)
-+ {
-+ InputInfoPtr info;
-+
-+ /* Search if there is one other keyboard that uses evdev. */
-+ for (info = xf86InputDevs; info; info = info->next)
-+ {
-+ if (info != pInfo && info->dev && info->dev->key &&
-+ (strcmp(info->drv->driverName, "evdev") == 0))
-+ break;
-+ }
-+
-+ if (!info)
-+ SwitchCoreKeyboard(dev);
-+ }
-+
- *pdev = dev;
- return Success;
-
---
-1.5.5.1
-
diff --git a/debian/patches/series b/debian/patches/series
index c004b0a..1a4b918 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,7 +9,6 @@
110_fedora_no_move_damage.patch
121_only_switch_vt_when_active.diff
135_rethrow_signals.patch
-#136_fedora_force_switchcorekeyboard_for_evdev.patch
140_quell_acpi_errmsgs.patch
143_default_to_vesa.patch
150_dont-update-vcp-valuators.patch
commit 93242934fecb3f8604ff50711f13d58e326fa4ae
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Fri Dec 12 21:25:49 2008 +0200
Add 153_make_dmx_compile.patch
Change xcalloc -> calloc, so that dmx compiles. Not tested if it
also works.
diff --git a/debian/changelog b/debian/changelog
index 7bee1c4..83a55e7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -20,6 +20,9 @@ xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low
- 152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch
Rather than assuming rules in the CoreKeyboardProc, init the default
rules in InitCoreDevices, then re-use them later.
+ - 153_make_dmx_compile.patch
+ Change xcalloc -> calloc, so that dmx compiles. Not tested if it
+ also works.
* Disable patch 136 for now, since it makes the build fail. Discuss
with upstream to see if it's needed anymore.
diff --git a/debian/patches/153_make_dmx_compile.patch b/debian/patches/153_make_dmx_compile.patch
new file mode 100644
index 0000000..acb4a3e
--- /dev/null
+++ b/debian/patches/153_make_dmx_compile.patch
@@ -0,0 +1,47 @@
+diff --git a/hw/dmx/dmx.h b/hw/dmx/dmx.h
+index 05e5fab..1a71417 100644
+--- a/hw/dmx/dmx.h
++++ b/hw/dmx/dmx.h
+@@ -341,14 +341,14 @@ do { \
+ #define _MAXSCREENSALLOCF(o,size,fatal) \
+ do { \
+ if (!o) { \
+- o = xcalloc((size), sizeof(*(o))); \
++ o = calloc((size), sizeof(*(o))); \
+ if (!o && fatal) FatalError(MAXSCREEN_FAILED_TXT #o); \
+ } \
+ } while (0)
+ #define _MAXSCREENSALLOCR(o,size,retval) \
+ do { \
+ if (!o) { \
+- o = xcalloc((size), sizeof(*(o))); \
++ o = calloc((size), sizeof(*(o))); \
+ if (!o) return retval; \
+ } \
+ } while (0)
+diff --git a/hw/dmx/dmxextension.c b/hw/dmx/dmxextension.c
+index d20c844..6fd02dc 100644
+--- a/hw/dmx/dmxextension.c
++++ b/hw/dmx/dmxextension.c
+@@ -1121,7 +1121,7 @@ static void dmxBERestoreRenderGlyph(pointer value, XID id, pointer n)
+ }
+
+ /* Now allocate the memory we need */
+- images = xcalloc(len_images, sizeof(char));
++ images = calloc(len_images, sizeof(char));
+ gids = xalloc(glyphSet->hash.tableEntries*sizeof(Glyph));
+ glyphs = xalloc(glyphSet->hash.tableEntries*sizeof(XGlyphInfo));
+
+diff --git a/hw/dmx/glxProxy/glxutil.c b/hw/dmx/glxProxy/glxutil.c
+index 080992e..ab1edef 100644
+--- a/hw/dmx/glxProxy/glxutil.c
++++ b/hw/dmx/glxProxy/glxutil.c
+@@ -69,7 +69,7 @@ __glXCalloc(size_t numElements, size_t elementSize)
+ if ((numElements == 0) || (elementSize == 0)) {
+ return NULL;
+ }
+- addr = xcalloc(numElements, elementSize);
++ addr = calloc(numElements, elementSize);
+ if (addr == NULL) {
+ /* XXX: handle out of memory error */
+ return NULL;
diff --git a/debian/patches/series b/debian/patches/series
index a6716fe..c004b0a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -15,3 +15,4 @@
150_dont-update-vcp-valuators.patch
151_allow-null-as-rulesfile.patch
152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch
+153_make_dmx_compile.patch
commit 2692b11e0b978d544b78009c6ef3616455cc8a9d
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Thu Dec 11 20:28:48 2008 +0200
Disable patch 136 for now.
diff --git a/debian/changelog b/debian/changelog
index 124147d..7bee1c4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -20,6 +20,8 @@ xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low
- 152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch
Rather than assuming rules in the CoreKeyboardProc, init the default
rules in InitCoreDevices, then re-use them later.
+ * Disable patch 136 for now, since it makes the build fail. Discuss
+ with upstream to see if it's needed anymore.
-- Timo Aaltonen <tjaalton@ubuntu.com> Thu, 11 Dec 2008 19:15:09 +0200
diff --git a/debian/patches/series b/debian/patches/series
index 39ddaba..a6716fe 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,7 +9,7 @@
110_fedora_no_move_damage.patch
121_only_switch_vt_when_active.diff
135_rethrow_signals.patch
-136_fedora_force_switchcorekeyboard_for_evdev.patch
+#136_fedora_force_switchcorekeyboard_for_evdev.patch
140_quell_acpi_errmsgs.patch
143_default_to_vesa.patch
150_dont-update-vcp-valuators.patch
commit 776ea4c7e8a0310b1cf6045252dd309e0df8c8ad
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Thu Dec 11 20:19:35 2008 +0200
bah, fix patch 150
diff --git a/debian/patches/150_dont-update-vcp-valuators.patch b/debian/patches/150_dont-update-vcp-valuators.patch
index 9caccb9..9899d06 100644
--- a/debian/patches/150_dont-update-vcp-valuators.patch
+++ b/debian/patches/150_dont-update-vcp-valuators.patch
@@ -13,8 +13,7 @@ diff --git a/Xi/exevents.c b/Xi/exevents.c
index 00a6b21..8eef400 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
-@@ -781,12 +781,14 @@ UpdateDeviceState(DeviceIntPtr device, xEvent* xE, int
-count)
+@@ -781,12 +781,14 @@ UpdateDeviceState(DeviceIntPtr device, xEvent* xE, int count)
}
/* Update device axis */
@@ -30,8 +29,7 @@ count)
if (xV->num_valuators &&
(!v || (xV->num_valuators &&
(first + xV->num_valuators > v->numAxes))))
-@@ -1009,7 +1011,9 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr device, int
-count)
+@@ -1009,7 +1011,9 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr device, int count)
}
/* Valuator event handling */
commit 72e9d4cb856dd176b1ea0379e661853809b24692
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Thu Dec 11 20:17:10 2008 +0200
Add a couple of patches from the proposed queue
diff --git a/debian/changelog b/debian/changelog
index eb7539b..124147d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,17 @@ xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low
- 150_no_visibility_notify_on_unredirect.patch: upstream
* 110_fedora_no_move_damage.patch modified to use new function names.
* Renumbered 142_psb_auto.patch to 103.
+ * Add a couple of patches from the proposed queue:
+ - 150_dont-update-vcp-valuators.patch
+ The VCP doesn't need to update the valuators anyway since it cannot
+ send XI events. Just skip that bit.
+ - 151_allow-null-as-rulesfile.patch
+ If no rules file is given, simply re-use the previous one. If no
+ RF is given the first time this function is called, use the
+ built-in default.
+ - 152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch
+ Rather than assuming rules in the CoreKeyboardProc, init the default
+ rules in InitCoreDevices, then re-use them later.
-- Timo Aaltonen <tjaalton@ubuntu.com> Thu, 11 Dec 2008 19:15:09 +0200
diff --git a/debian/patches/150_dont-update-vcp-valuators.patch b/debian/patches/150_dont-update-vcp-valuators.patch
new file mode 100644
index 0000000..9caccb9
--- /dev/null
+++ b/debian/patches/150_dont-update-vcp-valuators.patch
@@ -0,0 +1,45 @@
+The VCP doesn't need to update the valuators anyway since it cannot send XI
+events. Just skip that bit.
+
+X.Org Bug 18882 <http://bugs.freedesktop.org/show_bug.cgi?id=18882>
+---
+Not cherry-picked from master as master does need to update the valuators.
+(Keith: sorry for the resend, wrong "From:" blocked deliver to the xorg list)
+
+ Xi/exevents.c | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/Xi/exevents.c b/Xi/exevents.c
+index 00a6b21..8eef400 100644
+--- a/Xi/exevents.c
++++ b/Xi/exevents.c
+@@ -781,12 +781,14 @@ UpdateDeviceState(DeviceIntPtr device, xEvent* xE, int
+count)
+ }
+
+ /* Update device axis */
+- for (i = 1; i < count; i++) {
++ /* Don't update valuators for the VCP, it never sends XI events anyway */
++ for (i = 1; !device->isMaster && i < count; i++) {
+ if ((++xV)->type == DeviceValuator) {
+ int *axisvals;
+ int first = xV->first_valuator;
+ BOOL change = FALSE;
+
++
+ if (xV->num_valuators &&
+ (!v || (xV->num_valuators &&
+ (first + xV->num_valuators > v->numAxes))))
+@@ -1009,7 +1011,9 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr device, int
+count)
+ }
+
+ /* Valuator event handling */
+- for (i = 1; i < count; i++) {
++ /* Don't care about valuators for the VCP, it never sends XI events */
++
++ for (i = 1; !device->isMaster && i < count; i++) {
+ if ((++xV)->type == DeviceValuator) {
+ int first = xV->first_valuator;
+ if (xV->num_valuators
+
diff --git a/debian/patches/151_allow-null-as-rulesfile.patch b/debian/patches/151_allow-null-as-rulesfile.patch
new file mode 100644
index 0000000..5a2d4ad
--- /dev/null
+++ b/debian/patches/151_allow-null-as-rulesfile.patch
@@ -0,0 +1,68 @@
+From 7ef9f6ba03ddb40db1b1d1cba4153db3f6b81b4e Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@redhat.com>
+Date: Wed, 3 Dec 2008 15:06:37 +1000
+Subject: [PATCH] xkb: Allow NULL as rulesFile in XkbSetRulesDflts.
+
+If no rules file is given, simply re-use the previous one. If no RF is given
+the first time this function is called, use the built-in default.
+This includes fixing the built-in default to something that actually exists.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
+---
+ xkb/xkbInit.c | 29 ++++++++++++++++++++++++-----
+ 1 files changed, 24 insertions(+), 5 deletions(-)
+
+diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c
+index 0b93e87..3a0e375 100644
+--- a/xkb/xkbInit.c
++++ b/xkb/xkbInit.c
+@@ -93,7 +93,7 @@ typedef struct _SrvXkmInfo {
+ #define XKB_BIN_DIRECTORY XKB_BASE_DIRECTORY
+ #endif
+ #ifndef XKB_DFLT_RULES_FILE
+-#define XKB_DFLT_RULES_FILE "rules"
++#define XKB_DFLT_RULES_FILE "base"
+ #endif
+ #ifndef XKB_DFLT_KB_LAYOUT
+ #define XKB_DFLT_KB_LAYOUT "us"
+@@ -240,14 +240,33 @@ XkbSetRulesUsed(XkbRF_VarDefsPtr defs)
+ return;
+ }
+
++/**
++ * Set the default RMLVO for the next device to be initialised.
++ * If a parameter is NULL, the previous setting will be used. Use empty
++ * strings if you want to delete a previous setting.
++ *
++ * If @rulesFile is NULL and no previous @rulesFile has been set, the
++ * built-in default is chosen as default.
++ */
+ _X_EXPORT void
+ XkbSetRulesDflts(char *rulesFile,char *model,char *layout,
+ char *variant,char *options)
+ {
+- if (XkbRulesFile)
+- _XkbFree(XkbRulesFile);
+- XkbRulesFile= _XkbDupString(rulesFile);
+- rulesDefined= True;
++ if (!rulesFile && !XkbRulesFile)
++ {
++ LogMessage(X_WARNING, "[xkb] No rule given, and no previous rule "
++ "defined. Defaulting to '%s'.\n",
++ XKB_DFLT_RULES_FILE);
++ rulesFile = XKB_DFLT_RULES_FILE;
++ }
++
++ if (rulesFile) {
++ if (XkbRulesFile)
++ _XkbFree(XkbRulesFile);
++ XkbRulesFile= _XkbDupString(rulesFile);
++ rulesDefined= True;
++ }
++
+ if (model) {
+ if (XkbModelDflt)
+ _XkbFree(XkbModelDflt);
+--
+1.6.0.4
+
diff --git a/debian/patches/152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch b/debian/patches/152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch
new file mode 100644
index 0000000..60bc382
--- /dev/null
+++ b/debian/patches/152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch
@@ -0,0 +1,56 @@
+From ca47f082ba3664720d13c4970dc2661bc2c196fa Mon Sep 17 00:00:00 2001
+From: Donnie Berkholz <dberkholz@gentoo.org>
+Date: Wed, 3 Dec 2008 10:40:54 -0800
+Subject: [PATCH] Let the DDX decide on the XkbRulesDefaults.
+
+Rather than assuming rules in the CoreKeyboardProc, init the default rules in
+InitCoreDevices, then re-use them later.
+
+In the xfree86 DDX, set the rules to "base" or "evdev", depending on whether
+we'll load kbd or evdev.
+
+If we create a new MD, use pc105,us as default and re-use the rules file used
+previously.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
+
+Conflicts:
+
+ Xi/chdevhier.c
+---
+ dix/devices.c | 1 -
+ hw/xfree86/common/xf86Config.c | 6 ++++++
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/dix/devices.c b/dix/devices.c
+index f7fef95..d89f6c3 100644
+--- a/dix/devices.c
++++ b/dix/devices.c
+@@ -526,7 +526,6 @@ CoreKeyboardProc(DeviceIntPtr pDev, int what)
+ #ifdef XKB
+ if (!noXkbExtension) {
+ bzero(&names, sizeof(names));
+- XkbSetRulesDflts("base", "pc105", "us", NULL, NULL);
+ XkbInitKeyboardDeviceStruct(pDev, &names, &keySyms, modMap,
+ CoreKeyboardBell, CoreKeyboardCtl);
+ }
+diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
+index f530ec4..ad72b16 100644
+--- a/hw/xfree86/common/xf86Config.c
++++ b/hw/xfree86/common/xf86Config.c
+@@ -1032,6 +1032,12 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
+ xf86Info.allowEmptyInput = (xf86Info.autoAddDevices && xf86Info.autoEnableDevices);
+ xf86GetOptValBool(FlagOptions, FLAG_ALLOW_EMPTY_INPUT, &xf86Info.allowEmptyInput);
+
++ /* AEI on? Then we're not using kbd, so use the evdev rules set. */
++#ifdef XKB
++ XkbSetRulesDflts(((xf86Info.allowEmptyInput) ? "evdev" : "base"),
++ "pc105", "us", NULL, NULL);
++#endif
++
+ xf86Info.useDefaultFontPath = TRUE;
+ xf86Info.useDefaultFontPathFrom = X_DEFAULT;
+ if (xf86GetOptValBool(FlagOptions, FLAG_USE_DEFAULT_FONT_PATH, &value)) {
+--
+1.6.0.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 1917ce3..39ddaba 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -12,3 +12,6 @@
136_fedora_force_switchcorekeyboard_for_evdev.patch
140_quell_acpi_errmsgs.patch
143_default_to_vesa.patch
+150_dont-update-vcp-valuators.patch
+151_allow-null-as-rulesfile.patch
+152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch
commit 81fd07fe3efd0523e8c6a9158a92ca56cf4d2914
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Thu Dec 11 19:52:39 2008 +0200
Merge 1.6beta3
drop obsolete patches, rename psb_auto and modify no_move_damage.
diff --git a/debian/changelog b/debian/changelog
index 8830188..eb7539b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+xorg-server (2:1.5.99.3-0ubuntu1) UNRELEASED; urgency=low
+
+ * Merge from debian experimental git branch.
+ * Dropped patches:
+ - 103_inputproto_1.4.3_is_fine.patch: obsolete
+ - 137_add_device_property_support.patch: upstream
+ - 138_look_at_all_bytes_of_dev_enabled.diff: upstream
+ - 141_improved_driver_selection.patch: upstream
+ - 150_no_visibility_notify_on_unredirect.patch: upstream
+ * 110_fedora_no_move_damage.patch modified to use new function names.
+ * Renumbered 142_psb_auto.patch to 103.
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com> Thu, 11 Dec 2008 19:15:09 +0200
+
xorg-server (2:1.5.99.2-1) UNRELEASED; urgency=low
* New upstream beta version.
diff --git a/debian/patches/103_inputproto_1.4.3_is_fine.patch b/debian/patches/103_inputproto_1.4.3_is_fine.patch
deleted file mode 100644
index 7f06cd5..0000000
--- a/debian/patches/103_inputproto_1.4.3_is_fine.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -662,7 +662,7 @@ else
- RENDERPROTO="renderproto"
- fi
-
--REQUIRED_MODULES="[randrproto >= 1.2] $RENDERPROTO [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto xextproto [xproto >= 7.0.9] xtrans [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto [inputproto >= 1.4.4] [kbproto >= 1.0.3]"
-+REQUIRED_MODULES="[randrproto >= 1.2] $RENDERPROTO [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto xextproto [xproto >= 7.0.9] xtrans [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto [inputproto >= 1.4.3] [kbproto >= 1.0.3]"
- REQUIRED_LIBS="xfont xau fontenc [pixman-1 >= 0.9.5]"
-
- dnl HAVE_DBUS is true if we actually have the D-Bus library, whereas
diff --git a/debian/patches/103_psb_auto.patch b/debian/patches/103_psb_auto.patch
new file mode 100644
index 0000000..8d23c4f
--- /dev/null
+++ b/debian/patches/103_psb_auto.patch
@@ -0,0 +1,32 @@
+This patch adds autodetection support for the Poulsbo ("psb") driver
+needed by moblin.org for the Intel mobile chipset. Rather than add an
+else if, I restructured things with a case statement to make it conform
+in style to the savage driver section.
+
+Bryce Harrington 23-Aug-2007
+
+--- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c
++++ xorg-server/hw/xfree86/common/xf86AutoConfig.c
+@@ -166,11 +166,17 @@
+ case 0x102c: driverList[0] = "chips"; break;
+ case 0x1013: driverList[0] = "cirrus"; break;
+ case 0x8086:
+- if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) {
+- driverList[0] = "i740";
+- } else {
+- driverList[0] = "intel";
+- driverList[1] = "i810";
++ switch (dev->device_id)
++ {
++ case 0x00d1: case 0x7800:
++ driverList[0] = "i740"; break;
++ case 0x8108: case 0x8109:
++ driverList[0] = "vesa"; /* should be psb but broken */
++ break;
++ default:
++ driverList[0] = "intel";
++ driverList[1] = "i810";
++ break;
+ }
+ break;
+ case 0x102b: driverList[0] = "mga"; break;
diff --git a/debian/patches/110_fedora_no_move_damage.patch b/debian/patches/110_fedora_no_move_damage.patch
index f55f5c1..a1d6766 100644
--- a/debian/patches/110_fedora_no_move_damage.patch
+++ b/debian/patches/110_fedora_no_move_damage.patch
@@ -17,9 +17,9 @@ Index: xorg-server/composite/compwindow.c
REGION_TRANSLATE (prgnSrc, prgnSrc,
pWin->drawable.x - ptOldOrg.x,
pWin->drawable.y - ptOldOrg.y);
-- DamageDamageRegion (&pWin->drawable, prgnSrc);
+- DamageRegionAppend(&pWin->drawable, prgnSrc);
+ if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic)
-+ DamageDamageRegion (&pWin->drawable, prgnSrc);
++ DamageRegionAppend(&pWin->drawable, prgnSrc);
}
cs->CopyWindow = pScreen->CopyWindow;
pScreen->CopyWindow = compCopyWindow;
@@ -27,9 +27,9 @@ Index: xorg-server/composite/compwindow.c
/*
* Report that as damaged so it will be redrawn
*/
-- DamageDamageRegion (&pWin->drawable, &damage);
+- DamageRegionAppend(&pWin->drawable, &damage);
+ if (cw->update == CompositeRedirectAutomatic)
-+ DamageDamageRegion (&pWin->drawable, &damage);
++ DamageRegionAppend(&pWin->drawable, &damage);
REGION_UNINIT (pScreen, &damage);
/*
* Save the new border clip region
diff --git a/debian/patches/137_add_device_property_support.patch b/debian/patches/137_add_device_property_support.patch
deleted file mode 100644
index 34dca94..0000000
--- a/debian/patches/137_add_device_property_support.patch
+++ /dev/null
@@ -1,1290 +0,0 @@
-Index: xorg-server/Xi/Makefile.am
-===================================================================
---- xorg-server.orig/Xi/Makefile.am 2008-10-09 12:45:05.000000000 +0300
-+++ xorg-server/Xi/Makefile.am 2008-10-09 12:45:11.000000000 +0300
-@@ -75,6 +75,8 @@
- ungrdevb.c \
- ungrdevb.h \
- ungrdevk.c \
-- ungrdevk.h
-+ ungrdevk.h \
-+ xiproperty.c \
-+ xiproperty.h
-
- EXTRA_DIST = stubs.c
-Index: xorg-server/Xi/exglobals.h
-===================================================================
---- xorg-server.orig/Xi/exglobals.h 2008-10-09 12:45:05.000000000 +0300
-+++ xorg-server/Xi/exglobals.h 2008-10-09 12:45:11.000000000 +0300
-@@ -50,6 +50,7 @@
- extern Mask DeviceButtonGrabMask;
- extern Mask DeviceButtonMotionMask;
- extern Mask DevicePresenceNotifyMask;
-+extern Mask DevicePropertyNotifyMask;
- extern Mask PropagateMask[];
-
- extern int DeviceValuator;
-@@ -68,6 +69,7 @@
- extern int DeviceMappingNotify;
- extern int ChangeDeviceNotify;
- extern int DevicePresenceNotify;
-+extern int DevicePropertyNotify;
-
- extern int RT_INPUTCLIENT;
-
-Index: xorg-server/Xi/extinit.c
-===================================================================
---- xorg-server.orig/Xi/extinit.c 2008-10-09 12:45:05.000000000 +0300
-+++ xorg-server/Xi/extinit.c 2008-10-09 12:45:11.000000000 +0300
-@@ -109,6 +109,8 @@
- #include "ungrdev.h"
- #include "ungrdevb.h"
- #include "ungrdevk.h"
-+#include "xiproperty.c"
-+#include "xiproperty.h"
-
- static Mask lastExtEventMask = 1;
- int ExtEventIndex;
-@@ -166,6 +168,7 @@
- Mask DeviceButtonGrabMask;
- Mask DeviceButtonMotionMask;
- Mask DevicePresenceNotifyMask;
-+Mask DevicePropertyNotifyMask;
-
- int DeviceValuator;
- int DeviceKeyPress;
-@@ -183,6 +186,7 @@
- int DeviceMappingNotify;
- int ChangeDeviceNotify;
- int DevicePresenceNotify;
-+int DevicePropertyNotify;
-
- int RT_INPUTCLIENT;
-
-@@ -288,6 +292,14 @@
- return (ProcXGetDeviceControl(client));
- else if (stuff->data == X_ChangeDeviceControl)
- return (ProcXChangeDeviceControl(client));
-+ else if (stuff->data == X_ListDeviceProperties)
-+ return (ProcXListDeviceProperties(client));
-+ else if (stuff->data == X_ChangeDeviceProperty)
-+ return ProcXChangeDeviceProperty(client);
-+ else if (stuff->data == X_DeleteDeviceProperty)
-+ return ProcXDeleteDeviceProperty(client);
-+ else if (stuff->data == X_GetDeviceProperty)
-+ return ProcXGetDeviceProperty(client);
-
- return (BadRequest);
- }
-@@ -375,6 +387,14 @@
- return (SProcXGetDeviceControl(client));
- else if (stuff->data == X_ChangeDeviceControl)
- return (SProcXChangeDeviceControl(client));
-+ else if (stuff->data == X_ListDeviceProperties)
-+ return (SProcXListDeviceProperties(client));
-+ else if (stuff->data == X_ChangeDeviceProperty)
-+ return (SProcXChangeDeviceProperty(client));
-+ else if (stuff->data == X_DeleteDeviceProperty)
-+ return (SProcXDeleteDeviceProperty(client));
-+ else if (stuff->data == X_GetDeviceProperty)
-+ return (SProcXGetDeviceProperty(client));
-
- return (BadRequest);
- }
-@@ -445,6 +465,10 @@
- else if (rep->RepType == X_ChangeDeviceControl)
- SRepXChangeDeviceControl(client, len,
- (xChangeDeviceControlReply *) rep);
-+ else if (rep->RepType == X_ListDeviceProperties)
-+ SRepXListDeviceProperties(client, len, (xListDevicePropertiesReply*)rep);
-+ else if (rep->RepType == X_GetDeviceProperty)
-+ SRepXGetDeviceProperty(client, len, (xGetDevicePropertyReply *) rep);
- else {
- FatalError("XINPUT confused sending swapped reply");
- }
-@@ -550,6 +574,17 @@
- swaps(&to->control, n);
- }
-
-+static void
-+SDevicePropertyNotifyEvent (devicePropertyNotify *from, devicePropertyNotify *to)
-+{
-+ char n;
-+
-+ *to = *from;
-+ swaps(&to->sequenceNumber,n);
-+ swapl(&to->time, n);
-+ swapl(&to->atom, n);
-+}
-+
- /**************************************************************************
- *
- * Allow the specified event to have its propagation suppressed.
-@@ -670,6 +705,7 @@
- DeviceKeyStateNotify = ChangeDeviceNotify + 1;
- DeviceButtonStateNotify = DeviceKeyStateNotify + 1;
- DevicePresenceNotify = DeviceButtonStateNotify + 1;
-+ DevicePropertyNotify = DevicePresenceNotify + 1;
-
- event_base[KeyClass] = DeviceKeyPress;
- event_base[ButtonClass] = DeviceButtonPress;
-@@ -745,6 +781,10 @@
-
- DevicePresenceNotifyMask = GetNextExtEventMask();
- SetEventInfo(DevicePresenceNotifyMask, _devicePresence);
-+
-+ DevicePropertyNotifyMask = GetNextExtEventMask();
-+ SetMaskForExtEvent(DevicePropertyNotifyMask, DevicePropertyNotify);
-+
- SetEventInfo(0, _noExtensionEvent);
- }
-
-@@ -786,6 +826,7 @@
- DeviceKeyStateNotify = 13;
- DeviceButtonStateNotify = 13;
- DevicePresenceNotify = 14;
-+ DevicePropertyNotify = 15;
-
- BadDevice = 0;
- BadEvent = 1;
-@@ -824,6 +865,7 @@
- EventSwapVector[DeviceMappingNotify] = NotImplemented;
- EventSwapVector[ChangeDeviceNotify] = NotImplemented;
- EventSwapVector[DevicePresenceNotify] = NotImplemented;
-+ EventSwapVector[DevicePropertyNotify] = NotImplemented;
- RestoreExtensionEvents();
- }
-
-@@ -909,6 +951,8 @@
- DO_SWAP(SChangeDeviceNotifyEvent, changeDeviceNotify);
- else if (type == DevicePresenceNotify)
- DO_SWAP(SDevicePresenceNotifyEvent, devicePresenceNotify);
-+ else if (type == DevicePropertyNotify)
-+ DO_SWAP(SDevicePropertyNotifyEvent, devicePropertyNotify);
- else {
- FatalError("XInputExtension: Impossible event!\n");
- }
-@@ -936,6 +980,7 @@
- IReqCode = extEntry->base;
- AllExtensionVersions[IReqCode - 128] = thisversion;
- MakeDeviceTypeAtoms();
-+ XIInitKnownProperties();
- RT_INPUTCLIENT = CreateNewResourceType((DeleteType) InputClientGone);
- RegisterResourceName(RT_INPUTCLIENT, "INPUTCLIENT");
- FixExtensionEvents(extEntry);
-Index: xorg-server/Xi/xiproperty.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xorg-server/Xi/xiproperty.c 2008-10-09 13:07:10.000000000 +0300
-@@ -0,0 +1,773 @@
-+/*
-+ * Copyright © 2006 Keith Packard
-+ * Copyright © 2008 Peter Hutterer
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice (including the next
-+ * paragraph) shall be included in all copies or substantial portions of the
-+ * Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WAXIANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WAXIANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *
-+ */
-+
-+/* This code is a modified version of randr/rrproperty.c */
-+
-+#ifdef HAVE_DIX_CONFIG_H
-+#include <dix-config.h>
-+#endif
-+
-+#include "dix.h"
-+#include "inputstr.h"
-+#include <X11/extensions/XI.h>
-+#include <X11/extensions/XIproto.h>
-+#include "exglobals.h"
-+#include "exevents.h"
-+#include "swaprep.h"
-+
-+#include "xiproperty.h"
-+#include "xserver-properties.h"
-+
-+/**
-+ * Properties used or alloced from inside the server.
-+ */
-+static struct dev_properties
-+{
-+ Atom type;
-+ char *name;
-+} dev_properties[] = {
-+ {0, XI_PROP_ENABLED}
-+};
-+
-+static long XIPropHandlerID = 1;
-+
-+/**
-+ * Return the type assigned to the specified atom or 0 if the atom isn't known
-+ * to the DIX.
-+ */
-+_X_EXPORT Atom
-+XIGetKnownProperty(char *name)
-+{
-+ int i;
-+ for (i = 0; i < (sizeof(dev_properties)/sizeof(struct dev_properties)); i++)
-+ {
-+ if (strcmp(name, dev_properties[i].name) == 0)
-+ return dev_properties[i].type;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * Init those properties that are allocated by the server and most likely used
-+ * by the DIX or the DDX.
-+ */
-+void
-+XIInitKnownProperties(void)
-+{
-+ int i;
-+ for (i = 0; i < (sizeof(dev_properties)/sizeof(struct dev_properties)); i++)
-+ {
-+ dev_properties[i].type =
-+ MakeAtom(dev_properties[i].name,
-+ strlen(dev_properties[i].name),
-+ TRUE);
-+ }
-+}
-+
-+
-+/* Registers a new property handler on the given device and returns a unique
-+ * identifier for this handler. This identifier is required to unregister the
-+ * property handler again.
-+ * @return The handler's identifier or 0 if an error occured.
-+ */
-+long
-+XIRegisterPropertyHandler(DeviceIntPtr dev,
-+ int (*SetProperty) (DeviceIntPtr dev,
-+ Atom property,
-+ XIPropertyValuePtr prop),
-+ int (*GetProperty) (DeviceIntPtr dev,
-+ Atom property),
-+ int (*DeleteProperty) (DeviceIntPtr dev,
-+ Atom property))
-+{
-+ XIPropertyHandlerPtr new_handler;
-+
-+ new_handler = xcalloc(1, sizeof(XIPropertyHandler));
-+ if (!new_handler)
-+ return 0;
-+
-+ new_handler->id = XIPropHandlerID++;
-+ new_handler->SetProperty = SetProperty;
-+ new_handler->GetProperty = GetProperty;
-+ new_handler->DeleteProperty = DeleteProperty;
Reply to: