1. 05 Feb, 2020 1 commit
    • Adam Jackson's avatar
      qxl: Include only the dpms headers we need · 52c421c6
      Adam Jackson authored
      dpms.h is provided by libXext, but nothing in our configure.ac is
      verifying that we have libXext's headers. Fortunately we only need the
      definitions in dpmsconst.h (which dpms.h included for us), which is in
      xorgproto and thus implied by having an xserver DDK to build against.
      And we're even trying to include dpmsconst.h when we think we have it,
      meaning when HAVE_XEXTPROTO_71 is defined, but while many other drivers
      define that macro in their configure.ac, we for no particularly good
      reason do not. Oops. But since xextproto is about ten years old by now
      we can probably just safely include it unconditionally.
  2. 06 Apr, 2019 1 commit
    • Jeremy White's avatar
      Correct a long standing led state bug in XSpice. · 922ec516
      Jeremy White authored
      The CtrlProc for our keyboard driver incorrectly mapped
      the device private to a SpiceKbd* intead of to a InputInfoPtr.
      That resulted in led state being written into the driver name
      for our driver structure, instead of into the led state.
      That, in turn, led to a cool bug where if you pressed caps lock,
      the two second sync timer in the spice server would cause it to
      attempt to correct the state by pressing caps lock to get the
      states to match.  Since the states will never match, the caps
      lock effectively cycles on and off every two seconds.
      Signed-off-by: Jeremy White's avatarJeremy White <jwhite@codeweavers.com>
      Acked-by: Victor Toso's avatarVictor Toso <victortoso@redhat.com>
  3. 06 Dec, 2018 1 commit
  4. 18 Nov, 2018 1 commit
  5. 16 Nov, 2018 1 commit
    • Victor Toso's avatar
      qxl: Initialize prev field while dup surface list · cf2254c1
      Victor Toso authored
      Otherwise we will can hit a segfault qxl_surface_kill()
       │717     void
       │718     qxl_surface_kill (qxl_surface_t *surface)
       │719     {
       │720         struct evacuated_surface_t *ev = surface->evacuated;
       │722         if (ev)
       │723         {
       │724             /* server side surface is already destroyed (via reset), don't
       │725              * resend a destroy. Just mark surface as not to be recreated */
       │726             ev->pixmap = NULL;│
       │727             if (ev->image)│
       │728                 pixman_image_unref (ev->image);
       │729             if (ev->next)
       │730                 ev->next->prev = ev->prev;
       │731             if (ev->prev)
      >│732                ev->prev->next = ev->next;
       │733             free(ev);
       │734             surface->evacuated = NULL;
       │735             return;
       │736         }
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1641793Signed-off-by: Victor Toso's avatarVictor Toso <victortoso@redhat.com>
  6. 13 Nov, 2018 2 commits
    • Jonathon Jongsma's avatar
      Make output names match modesetting driver · 64cb597c
      Jonathon Jongsma authored
      The xrandr output name used by the QXL driver is based on the drm
      connector type, but the names do not match the kernel names (see
      /drivers/gpu/drm/drm_connector.c) or the modesetting driver names (see
      hw/xfree86/drivers/modesetting/drmmode_display.c). Making these more
      consistent will require less driver-specific special-case code if a user
      wants to match an xrandr output to a drm connector.
      Note that this patch should not actually change any behavior, since the
      QXL driver only uses the 'Virtual' connector type, so this is done only
      for consistency.
      Signed-off-by: default avatarJonathon Jongsma <jjongsma@redhat.com>
      Acked-by: Frediano Ziglio's avatarFrediano Ziglio <fziglio@redhat.com>
    • Jonathon Jongsma's avatar
      Make output name numbering 1-based · 505a8bb0
      Jonathon Jongsma authored
      The QXL driver names its outputs starting at 0 (e.g. Virtual-0,
      Virtual-1, etc). This code was presumably copy/pasted from a different
      driver, and is not necessary for the QXL driver. Other drivers simply
      use the kernel connector_type_id which starts at 1. For example, the
      modesetting driver changed from 0-based names to 1-based names for the
      same reason in xserver commit 139e36dd.
      This will help to make it easier to identify which xrandr outputs belong
      to which drm connector without requiring as many driver-specific
      This change might effect custom xorg configurations that references a
      specific output name. But the same change was made in modesetting driver
      despite that possibility.
      Signed-off-by: default avatarJonathon Jongsma <jjongsma@redhat.com>
      Acked-by: Frediano Ziglio's avatarFrediano Ziglio <fziglio@redhat.com>
  7. 19 Jun, 2017 1 commit
  8. 13 Jun, 2017 1 commit
  9. 07 Apr, 2017 2 commits
  10. 06 Apr, 2017 2 commits
  11. 08 Feb, 2017 3 commits
  12. 19 Dec, 2016 5 commits
  13. 12 Dec, 2016 6 commits
  14. 02 Nov, 2016 1 commit
  15. 04 Oct, 2016 1 commit
  16. 30 Aug, 2016 1 commit
    • Owen Taylor's avatar
      Check for either xfont.pc or xfont2.pc · e13d28ee
      Owen Taylor authored
      More recent versions of Xfont have a different API (with namespacing
      for libXfont functions.) Check for xfont2.pc and if found, use that, and
      use the new API. The rational for preferring libXfont2 is that as a recent
      change the xserver module looks for and requires libXfont2, and it's better
      not to have both versions of the library in process.
  17. 07 Jul, 2016 2 commits
  18. 06 Apr, 2016 1 commit
    • Christophe Fergeau's avatar
      xspice: Don't create Xorg time in timer_add · edd1a409
      Christophe Fergeau authored
      SpiceCoreInterface::timer_add() is used by spice-server for integration
      with external mainloops. timer_add() is only meant to create a disabled
      timer, this timer will then be started with a call to timer_start().
      The current implementation in Xspice creates a timer which will trigger
      in a very long time, assuming this will never happen. This 'forever' is
      1,000,000 seconds, which amounts to 11 days. After that time, some
      timers which are meant to be disabled (eg migration related timers in
      spice-server) fire, then causing a crash with some failed assertions.
      Instead of creating the X timer right away in timer_add(), we can wait
      until timer_start() is called before starting it, which avoids this
  19. 24 Mar, 2016 5 commits
  20. 11 Jan, 2016 1 commit
  21. 11 Dec, 2015 1 commit