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

xorg-server: Changes to 'ubuntu+1'



 ChangeLog                          |   42 +++++++++++++++++++++++++++++++++++++
 Xi/exevents.c                      |   20 ++++++++---------
 Xi/xiproperty.c                    |    2 -
 configure.ac                       |    2 -
 debian/changelog                   |    7 ++++++
 debian/patches/220_test-loop.patch |   36 -------------------------------
 debian/patches/series              |    1 
 dix/enterleave.c                   |    9 +++++--
 dix/eventconvert.c                 |    4 +++
 dix/getevents.c                    |    2 -
 hw/xfree86/common/xf86Xinput.c     |   11 +++++----
 include/exevents.h                 |    2 -
 test/xi2/protocol-eventconvert.c   |    2 -
 xkb/xkbActions.c                   |    2 -
 14 files changed, 81 insertions(+), 61 deletions(-)

New commits:
commit 1525cba03c3c81a3547370204c88824fd5a15022
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Tue Jan 10 10:48:49 2012 +0100

    releasing version 2:1.11.3-0ubuntu2

diff --git a/ChangeLog b/ChangeLog
index c1fd54b..5733c56 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,45 @@
+commit a607cde134173b158335b2c1d92a91b2ec876aa9
+Author: Keith Packard <keithp@keithp.com>
+Date:   Mon Jan 9 13:17:37 2012 -0800
+
+    Merge remote-tracking branch 'whot/multitouch'
+    
+    (cherry picked from commit e476af417d83730b11054f4e5b127ab5540bb332)
+    
+    Conflicts:
+    
+    	configure.ac
+
+commit fe5444bfe3c7cc56cd8bddb32d2dc45b22431aea
+Author: Keith Packard <keithp@keithp.com>
+Date:   Mon Jan 9 11:40:23 2012 -0800
+
+    Merge remote-tracking branch 'whot/for-keith'
+    (cherry picked from commit 0b2c6491c5e5e1c9ba067299f3de61f5acee263b)
+    
+    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 447156777040e0695391ecac709de3a857368a8d
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date:   Thu Dec 22 12:00:37 2011 -0800
+
+    test/xi2: Really fix infinite loop in test_convert_XITouchOwnershipEvent
+    
+    long i;
+    for (i = 1; ; i <<= 1)
+      if (i == (1 << 31))
+        break;
+    
+    (1 << 31) is compiled as an int, and thus is equal to -2147483648. We
+    are trying to compare it against a long, which on 64-bit machines is
+    2147483648. This results in an infinite loop.
+    
+    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+    (cherry picked from commit a28ff2cf92c2b35e02eacca21af929afabbf6b83)
+    
+    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
 commit 0c292448ebcfcc6e5072efada55f8135b60b7795
 Author: Keith Packard <keithp@keithp.com>
 Date:   Thu Dec 22 09:35:51 2011 -0800
diff --git a/debian/changelog b/debian/changelog
index 92ca608..11cb531 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.11.3-0ubuntu2) precise; urgency=low
+
+  * Merge in input changes from upstream master through commit 8722ad6
+  * Remove temporary patch 220_test-loop.patch, merged upstream
+
+ -- Chase Douglas <chase.douglas@ubuntu.com>  Tue, 10 Jan 2012 10:48:31 +0100
+
 xorg-server (2:1.11.3-0ubuntu1) precise; urgency=low
 
   * New upstream bugfix release
diff --git a/debian/patches/220_test-loop.patch b/debian/patches/220_test-loop.patch
deleted file mode 100644
index 476e165..0000000
--- a/debian/patches/220_test-loop.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 5750b6dbd015529e2c7b03755c8235ee3c9e6ff7 Mon Sep 17 00:00:00 2001
-From: Chase Douglas <chase.douglas@canonical.com>
-Date: Thu, 22 Dec 2011 11:55:34 -0800
-Subject: [PATCH] test/xi2: Really fix infinite loop in
- test_convert_XITouchOwnershipEvent
-
-long i;
-for (i = 1; ; i <<= 1)
-  if (i == (1 << 31))
-    break;
-
-(1 << 31) is compiled as an int, and thus is equal to -2147483648. We
-are trying to compare it against a long, which on 64-bit machines is
-2147483648. This results in an infinite loop.
-
-Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
----
- test/xi2/protocol-eventconvert.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/test/xi2/protocol-eventconvert.c b/test/xi2/protocol-eventconvert.c
-index faa9f40..bf1493c 100644
---- a/test/xi2/protocol-eventconvert.c
-+++ b/test/xi2/protocol-eventconvert.c
-@@ -1005,7 +1005,7 @@ test_convert_XITouchOwnershipEvent(void)
-     {
-         in.touchid = i;
-         test_XITouchOwnershipEvent(&in);
--	if (i == (1 << 31))
-+	if (i == ((long)1 << 31))
- 	    break;
-     }
- }
--- 
-1.7.5.4
-
diff --git a/debian/patches/series b/debian/patches/series
index aef2d0d..a37033e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -27,4 +27,3 @@
 208_switch_on_release.diff
 209_add_legacy_bgnone_option.patch
 214_glx_dri_searchdirs.patch
-220_test-loop.patch

commit a607cde134173b158335b2c1d92a91b2ec876aa9
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jan 9 13:17:37 2012 -0800

    Merge remote-tracking branch 'whot/multitouch'
    
    (cherry picked from commit e476af417d83730b11054f4e5b127ab5540bb332)
    
    Conflicts:
    
    	configure.ac

diff --git a/Xi/exevents.c b/Xi/exevents.c
index db49e31..6b2db4b 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -1159,13 +1159,11 @@ TouchEventRejected(DeviceIntPtr sourcedev, TouchPointInfoPtr ti,
             DeliverTouchEvents(sourcedev, ti, tel + i, ev->resource);
     }
 
-    /* If there are no other listeners left, then don't bother sending an
-     * ownership change event to no-one; if the touchpoint is pending
+    /* If there are no other listeners left, and the touchpoint is pending
      * finish, then we can just kill it now. */
-    if (ti->num_listeners == 1)
+    if (ti->num_listeners == 1 && ti->pending_finish)
     {
-        if (ti->pending_finish)
-            TouchEndTouch(sourcedev, ti);
+        TouchEndTouch(sourcedev, ti);
         goto out;
     }
 
@@ -1178,9 +1176,9 @@ TouchEventRejected(DeviceIntPtr sourcedev, TouchPointInfoPtr ti,
             ti->num_grabs--;
     }
 
-    /* If the current owner was removed, deliver the TouchOwnership or TouchBegin
-       event to the new owner. */
-    if (was_owner)
+    /* If the current owner was removed and there are further listeners, deliver
+     * the TouchOwnership or TouchBegin event to the new owner. */
+    if (ti->num_listeners > 0 && was_owner)
         TouchPuntToNextOwner(sourcedev, ti, ev);
 
 out:
@@ -1803,8 +1801,10 @@ DeliverTouchEndEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev,
                 rc = DeliverOneTouchEvent(client, dev, ti, grab, win, ev);
             listener->state = LISTENER_HAS_END;
         }
-        if (ti->num_listeners > 1 &&
-           (ev->device_event.flags & (TOUCH_ACCEPT|TOUCH_REJECT)) == 0)
+        if ((ti->num_listeners > 1 ||
+             (listener->type == LISTENER_GRAB &&
+              xi2mask_isset(xi2mask, dev, XI_TouchOwnership))) &&
+            (ev->device_event.flags & (TOUCH_ACCEPT|TOUCH_REJECT)) == 0)
         {
             ev->any.type = ET_TouchUpdate;
             ev->device_event.flags |= TOUCH_PENDING_END;
diff --git a/configure.ac b/configure.ac
index af6ea8c..6dc76c8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -785,7 +785,7 @@ WINDOWSWMPROTO="windowswmproto"
 APPLEWMPROTO="applewmproto >= 1.4"
 
 dnl Core modules for most extensions, et al.
-SDK_REQUIRED_MODULES="[xproto >= 7.0.22] [randrproto >= 1.2.99.3] [renderproto >= 0.11] [xextproto >= 7.1.99] [inputproto >= 2.1.99.3] [kbproto >= 1.0.3] fontsproto"
+SDK_REQUIRED_MODULES="[xproto >= 7.0.22] [randrproto >= 1.2.99.3] [renderproto >= 0.11] [xextproto >= 7.1.99] [inputproto >= 2.1.99.5] [kbproto >= 1.0.3] fontsproto"
 # Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
 AC_SUBST(SDK_REQUIRED_MODULES)
 
diff --git a/dix/eventconvert.c b/dix/eventconvert.c
index 017c871..60dc22f 100644
--- a/dix/eventconvert.c
+++ b/dix/eventconvert.c
@@ -691,6 +691,10 @@ eventToDeviceEvent(DeviceEvent *ev, xEvent **xi)
     else
         xde->flags = ev->flags;
 
+    if (IsTouchEvent((InternalEvent*)ev) &&
+        ev->flags & TOUCH_POINTER_EMULATED)
+        xde->flags |= XITouchEmulatingPointer;
+
     if (ev->key_repeat)
         xde->flags      |= XIKeyRepeat;
 

commit fe5444bfe3c7cc56cd8bddb32d2dc45b22431aea
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jan 9 11:40:23 2012 -0800

    Merge remote-tracking branch 'whot/for-keith'
    (cherry picked from commit 0b2c6491c5e5e1c9ba067299f3de61f5acee263b)
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
index 61c5d57..3061283 100644
--- a/Xi/xiproperty.c
+++ b/Xi/xiproperty.c
@@ -706,7 +706,7 @@ XIDeleteDeviceProperty (DeviceIntPtr device, Atom property, Bool fromClient)
 int
 XIChangeDeviceProperty (DeviceIntPtr dev, Atom property, Atom type,
                         int format, int mode, unsigned long len,
-                        const pointer value, Bool sendevent)
+                        const void *value, Bool sendevent)
 {
     XIPropertyPtr               prop;
     int                         size_in_bytes;
diff --git a/dix/enterleave.c b/dix/enterleave.c
index a39e640..89a82ab 100644
--- a/dix/enterleave.c
+++ b/dix/enterleave.c
@@ -1292,14 +1292,17 @@ DeviceFocusEvents(DeviceIntPtr dev,
                         NotifyPointer);
             DeviceFocusEvent(dev, XI_FocusOut, mode, NotifyNonlinear, from);
             /* next call catches the root too, if the screen changed */
-            DeviceFocusOutEvents(dev, from->parent, NullWindow, mode,
+            DeviceFocusOutEvents(dev, from, NullWindow, mode,
                     NotifyNonlinearVirtual);
         }
         /* Notify all the roots */
         for (i = 0; i < nscreens; i++)
             DeviceFocusEvent(dev, XI_FocusIn, mode, in, screenInfo.screens[i]->root);
         if (to == PointerRootWin)
+        {
             DeviceFocusInEvents(dev, GetCurrentRootWindow(dev), sprite->win, mode, NotifyPointer);
+            DeviceFocusEvent(dev, XI_FocusIn, mode, NotifyPointer, sprite->win);
+        }
     }
     else
     {
@@ -1321,7 +1324,7 @@ DeviceFocusEvents(DeviceIntPtr dev,
             if (IsParent(to, from))
             {
                 DeviceFocusEvent(dev, XI_FocusOut, mode, NotifyAncestor, from);
-                DeviceFocusOutEvents(dev, from->parent, to, mode,
+                DeviceFocusOutEvents(dev, from, to, mode,
                         NotifyVirtual);
                 DeviceFocusEvent(dev, XI_FocusIn, mode, NotifyInferior, to);
                 if ((IsParent(to, sprite->win)) &&
@@ -1353,7 +1356,7 @@ DeviceFocusEvents(DeviceIntPtr dev,
                                 NotifyPointer);
                     DeviceFocusEvent(dev, XI_FocusOut, mode, NotifyNonlinear, from);
                     if (from->parent != NullWindow)
-                        DeviceFocusOutEvents(dev, from->parent, common, mode,
+                        DeviceFocusOutEvents(dev, from, common, mode,
                                 NotifyNonlinearVirtual);
                     if (to->parent != NullWindow)
                         DeviceFocusInEvents(dev, common, to, mode, NotifyNonlinearVirtual);
diff --git a/dix/getevents.c b/dix/getevents.c
index 3b40a5b..d0014e6 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1328,7 +1328,7 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type,
     storeLastValuators(pDev, &mask, 0, 1, devx, devy);
 
     /* Update the MD's co-ordinates, which are always in desktop space. */
-    if (!IsMaster(pDev) || !IsFloating(pDev)) {
+    if (!IsMaster(pDev) && !IsFloating(pDev)) {
         DeviceIntPtr master = GetMaster(pDev, MASTER_POINTER);
         master->last.valuators[0] = screenx;
         master->last.valuators[1] = screeny;
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index 36c40d7..671c9e0 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -968,15 +968,16 @@ NewInputDeviceRequest (InputOption *options, InputAttributes *attrs,
         pInfo->attrs = DuplicateInputAttributes(attrs);
     }
 
-    if (!pInfo->driver || !pInfo->name) {
-        xf86Msg(X_INFO, "No input driver/identifier specified (ignoring)\n");
+    if (!pInfo->name) {
+        xf86Msg(X_INFO, "No identifier specified, ignoring this device.\n");
         rval = BadRequest;
         goto unwind;
     }
 
-    if (!pInfo->name) {
-        xf86Msg(X_ERROR, "No device identifier specified (ignoring)\n");
-        rval = BadMatch;
+    if (!pInfo->driver) {
+        xf86Msg(X_INFO, "No input driver specified, ignoring this device.\n");
+        xf86Msg(X_INFO, "This device may have been added with another device file.\n");
+        rval = BadRequest;
         goto unwind;
     }
 
diff --git a/include/exevents.h b/include/exevents.h
index bd16970..31acb30 100644
--- a/include/exevents.h
+++ b/include/exevents.h
@@ -92,7 +92,7 @@ extern _X_EXPORT int XIChangeDeviceProperty(
         int                     /* format*/,
         int                     /* mode*/,
         unsigned long           /* len*/,
-        const pointer           /* value*/,
+        const void*             /* value*/,
         Bool                    /* sendevent*/
         );
 
diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c
index 1e94d26..cf20737 100644
--- a/xkb/xkbActions.c
+++ b/xkb/xkbActions.c
@@ -784,7 +784,7 @@ DeviceIntPtr		kbd;
 	filter->active= 0;
 	return ((pMsg->flags&XkbSA_MessageGenKeyEvent)!=0);
     }
-    return 0;
+    return 1;
 }
 
 static int

commit 447156777040e0695391ecac709de3a857368a8d
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Thu Dec 22 12:00:37 2011 -0800

    test/xi2: Really fix infinite loop in test_convert_XITouchOwnershipEvent
    
    long i;
    for (i = 1; ; i <<= 1)
      if (i == (1 << 31))
        break;
    
    (1 << 31) is compiled as an int, and thus is equal to -2147483648. We
    are trying to compare it against a long, which on 64-bit machines is
    2147483648. This results in an infinite loop.
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit a28ff2cf92c2b35e02eacca21af929afabbf6b83)
    
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>

diff --git a/test/xi2/protocol-eventconvert.c b/test/xi2/protocol-eventconvert.c
index 2df9cb9..0913450 100644
--- a/test/xi2/protocol-eventconvert.c
+++ b/test/xi2/protocol-eventconvert.c
@@ -1021,7 +1021,7 @@ test_convert_XITouchOwnershipEvent(void)
     {
         in.touchid = i;
         test_XITouchOwnershipEvent(&in);
-	if (i == (1 << 31))
+	if (i == ((long)1 << 31))
 	    break;
     }
 }


Reply to: