1. 16 Feb, 2021 1 commit
  2. 25 Nov, 2020 2 commits
  3. 18 Nov, 2020 1 commit
  4. 30 Oct, 2019 1 commit
  5. 06 Oct, 2019 1 commit
  6. 12 Sep, 2018 1 commit
  7. 06 Dec, 2017 1 commit
  8. 21 Sep, 2016 1 commit
  9. 14 Sep, 2016 1 commit
  10. 26 May, 2016 1 commit
    • Keith Packard's avatar
      Remove SIGIO support for input [v5] · 6a5a4e60
      Keith Packard authored
      
      
      This removes all of the SIGIO handling support used for input
      throughout the X server, preparing the way for using threads for input
      handling instead.
      
      Places calling OsBlockSIGIO and OsReleaseSIGIO are marked with calls
      to stub functions input_lock/input_unlock so that we don't lose this
      information.
      
      xfree86 SIGIO support is reworked to use internal versions of
      OsBlockSIGIO and OsReleaseSIGIO.
      
      v2: Don't change locking order (Peter Hutterer)
      v3: Comment weird && FALSE in xf86Helper.c
          Leave errno save/restore in xf86ReadInput
          Squash with stub adding patch (Peter Hutterer)
      v4: Leave UseSIGIO config parameter so that
          existing config files don't break (Peter Hutterer)
      v5: Split a couple of independent patch bits out
          of kinput.c (Peter Hutterer)
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Reviewed-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      6a5a4e60
  11. 04 May, 2016 1 commit
    • Adam Jackson's avatar
      dix: Push UpdateCurrentTimeIf down out of the main loop · 137ac094
      Adam Jackson authored
      This was added in:
      
          commit 312910b4
      
      
          Author: Chase Douglas <chase.douglas@canonical.com>
          Date:   Wed Apr 18 11:15:40 2012 -0700
      
              Update currentTime in dispatch loop
      
      Unfortunately this is equivalent to calling GetTimeInMillis() once per
      request. In the absolute best case (as on Linux) you're only hitting the
      vDSO; on other platforms that's a syscall. Either way it puts a pretty
      hard ceiling on request throughput.
      
      Instead, push the call down to the requests that need it; basically,
      grab processing and event generation.
      
      Cc: Chase Douglas <chase.douglas@canonical.com>
      Reviewed-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      137ac094
  12. 29 Apr, 2016 1 commit
  13. 20 May, 2015 1 commit
  14. 11 May, 2015 1 commit
  15. 21 Apr, 2015 1 commit
  16. 13 Mar, 2015 1 commit
  17. 12 Nov, 2014 1 commit
  18. 08 Oct, 2014 1 commit
  19. 12 Aug, 2014 1 commit
  20. 05 Aug, 2014 1 commit
  21. 05 Jun, 2014 1 commit
  22. 29 Apr, 2014 1 commit
  23. 11 Mar, 2014 1 commit
  24. 04 Feb, 2014 2 commits
  25. 12 Jan, 2014 2 commits
  26. 23 May, 2013 2 commits
  27. 15 May, 2013 1 commit
  28. 10 May, 2013 3 commits
  29. 06 May, 2013 1 commit
    • Peter Hutterer's avatar
      xkb: free XkbRulesUsed and XkbRulesDflt on extension cleanup · 6f44d672
      Peter Hutterer authored
      
      
      ==2547== 1 bytes in 1 blocks are still reachable in loss record 1 of 111
      ==2547==    at 0x4C2A4CD: malloc (vg_replace_malloc.c:236)
      ==2547==    by 0x64D1551: strdup (strdup.c:43)
      ==2547==    by 0x4802FB: Xstrdup (utils.c:1113)
      ==2547==    by 0x585B6C: XkbSetRulesUsed (xkbInit.c:219)
      ==2547==    by 0x58700F: InitKeyboardDeviceStruct (xkbInit.c:595)
      ==2547==    by 0x419FA3: vfbKeybdProc (InitInput.c:74)
      ==2547==    by 0x425A3D: ActivateDevice (devices.c:540)
      ==2547==    by 0x425F65: InitAndStartDevices (devices.c:713)
      ==2547==    by 0x5ACA57: main (main.c:259)
      
      and a few more of the above.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      6f44d672
  30. 23 Apr, 2013 1 commit
  31. 16 Apr, 2013 1 commit
    • Peter Hutterer's avatar
      dix: only allocate unused classes for master devices · 27356a45
      Peter Hutterer authored
      
      
      Slave devices don't need these and the matching code in CloseDevice() has a
      IsMaster() condition on freeing these, causing a leak.
      
      ==16111== 384 bytes in 4 blocks are definitely lost in loss record 72 of 105
      ==16111==    at 0x4C28BB4: calloc (vg_replace_malloc.c:467)
      ==16111==    by 0x42AEE2: AllocDevicePair (devices.c:2707)
      ==16111==    by 0x4BAA27: AllocXTestDevice (xtest.c:617)
      ==16111==    by 0x4BA89A: InitXTestDevices (xtest.c:570)
      ==16111==    by 0x425F5E: InitCoreDevices (devices.c:690)
      ==16111==    by 0x5ACB2D: main (main.c:257)
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: default avatarChase Douglas <chase.douglas@canonical.com>
      27356a45
  32. 08 Feb, 2013 3 commits
    • Peter Hutterer's avatar
      Short-cut the input device cleanup process during AbortServer() · 9f79e93b
      Peter Hutterer authored
      
      
      If we're about to abort, we're already in the signal handler and cannot call
      down to the default device cleanup routines (which reset, free, alloc, and
      do a bunch of other things).
      
      Add a new DEVICE_ABORT mode to signal a driver's DeviceProc that it must
      reset the hardware if needed but do nothing else. An actual HW reset is only
      required for some drivers dealing with the HW directly.
      
      This is largely backwards-compatible, hence the input ABI minor bump only.
      
      Drivers we care about either return BadValue on a mode that's not
      DEVICE_{INIT|ON|OFF|CLOSE} or print an error and return BadValue. Exception
      here is vmmouse, which currently ignores it and would not reset anything.
      This should be fixed if the reset is required.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      9f79e93b
    • Peter Hutterer's avatar
      dix: support the transformation matrix for relative devices. · b58221f9
      Peter Hutterer authored
      
      
      The transformation matrix we previously stored was a scaled matrix based on
      the axis ranges of the device. For relative movements, the scaling is not
      required (or desired).
      
      Store two separate matrices, one as requested by the client, one as the
      product of [scale . matrix . inv_scale]. Depending on the type of movement,
      apply the respective matrix.
      
      For relative movements, also drop the translation component since it doesn't
      really make sense to use that bit.
      
      Input ABI 19
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      b58221f9
    • Peter Hutterer's avatar
      dix: when shutting down slave devices, shut down xtest devices last · 3e4be403
      Peter Hutterer authored
      
      
      XTest devices are the first ones in the list, being initialised together
      with the master devices. If we disable the devices in-order and a device has
      a button down when being disabled, the XTest device is checked for a
      required button release (xkbAccessX.c's ProcessPointerEvent). This fails if
      the device is already NULL.
      
      Instead of putting the check there, disable the devices in the reverse order
      they are initialised. Disable physical slaves first, then xtest devices,
      then the master devices.
      
      Testcase: shut down server with a button still held down on a physical
      device
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      3e4be403