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

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: