1. 10 Aug, 2015 2 commits
  2. 04 Aug, 2015 2 commits
    • Christophe Fergeau's avatar
      Fix compilation with newer Xorg versions · a184774a
      Christophe Fergeau authored
      Xorg 1.18 stopped exporting some xfont related symbols in its
      headers/shared libraries, which causes QXL to fail to build:
      
      uxa-damage.c:947:5: error: implicit declaration of function 'QueryGlyphExtents' [-Werror=implicit-function-declaration]
           QueryGlyphExtents(font, charinfo, n, &extents);
      
      The missing definition can be found in xfont, so this commit addes the
      needed configure.ac checks and includes.
      Note that dixfontstr.h must be included before the xfont headers or this
      will cause compile-time warnings on older Xorg versions (eg 1.17)
      a184774a
    • Christophe Fergeau's avatar
      Use <> for system-includes · 83e00bb5
      Christophe Fergeau authored
      These headers come from /usr/include/xorg/ so it's clearer if they are
      included using <>. While at it, I've reordered them alphabetically.
      83e00bb5
  3. 22 Jun, 2015 1 commit
    • Javier Celaya's avatar
      Fix drawable mm_time with KMS · e765cc5e
      Javier Celaya authored
      When KMS is enabled, the mm_time value of a QXLDrawable is undefined.
      This results in severe synchronization problems. This patch sets it to
      zero to force the spice-server to use the local clock.
      e765cc5e
  4. 01 Jun, 2015 1 commit
    • Jeremy White's avatar
      Do not process watches on select() error. · d99213d4
      Jeremy White authored
      This enables a kill of an Xorg process to propagate further.
      Without this, the read masks would be set, and we could end up
      blocking in an accept() call and not exiting from the signal.
      d99213d4
  5. 22 May, 2015 2 commits
  6. 30 Apr, 2015 1 commit
    • Adam Jackson's avatar
      Use pci_io_write8 instead of outb · c1e88427
      Adam Jackson authored
      This ensures better portability as some arches (eg aarch64) don't have
      outb.
      On linux pci_io_* try to open the sysfs map file corresponding to the
      I/O port range, which the kernel translates arch-appropriately.  If
      there is no such file then it'll try to use port instructions if that's
      a thing the architecture has.  So you only need one path, pciaccess
      exists to get the portability right for you.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1201877
      c1e88427
  7. 07 Apr, 2015 2 commits
  8. 01 Apr, 2015 2 commits
  9. 30 Mar, 2015 2 commits
    • Marc-André Lureau's avatar
      Remove image cache · e4597f71
      Marc-André Lureau authored
      While looking for leaks, I realized that the image cache looks
      quite suspicious.
      
      Not only it leaks when qxl_drop_image_cache() is called,
      since all the allocated image_info_t references are lost.
      But it is also useless:  "The name implies it's a cache of some
      sort, but data is only added to it. The only time data is looked up in
      that cache is when it needs to be destroyed, and this is not done
      correctly and causes leaks. Since the cached data is never used and
      since it's leaky, it's better to remove it altogether"
      e4597f71
    • Christophe Fergeau's avatar
      Don't leak ARGB cursor data bo · 2bed9bff
      Christophe Fergeau authored
      qxl_load_cursor_argb() owns 2 references on the cursor_bo it creates:
      - one from the call to bo_alloc()
      - the second from a call to bo_output_bo_reloc()
      
      qxl_garbage_collect() release one of these refs, but the other one is
      never released, so ARGB cursor bos are leaked. This can cause out of
      memory issues, for example when running EL6 anaconda installer on a 2TB
      disk image (see bug https://bugzilla.redhat.com/show_bug.cgi?id=1199355
      ).
      
      This commit release the extra ref right after calling push_cursor().
      This is similar to what is done in qxl_surface_put_image().
      2bed9bff
  10. 20 Mar, 2015 2 commits
  11. 13 Mar, 2015 2 commits
  12. 25 Jan, 2015 2 commits
  13. 08 Jan, 2015 1 commit
    • Jeremy White's avatar
      Enable smartcard support for XSpice. · cd96284c
      Jeremy White authored
      This is done by creating a Unix domain socket to which smartcard
      messages are transferred, using the vscard protocol.
      
      A further system library, spiceccid, is used to provide an interface into
      pcsc-lite, specifically the pcsc-lite daemon, so that regular Unix applications
      can access the passed through smartcard information.
      Signed-off-by: Jeremy White's avatarJeremy White <jwhite@codeweavers.com>
      cd96284c
  14. 26 Nov, 2014 1 commit
    • Jonathon Jongsma's avatar
      Update drm properties correctly · 9368451e
      Jonathon Jongsma authored
      When connector properties got changed, those changes were not being
      propagated to user-space. This pushes those changes up so that e.g. new
      "suggested X|Y" properties can be used to help lay out multiple displays
      properly. This code is based on similar code from the nouveau driver.
      9368451e
  15. 03 Nov, 2014 1 commit
  16. 23 Oct, 2014 2 commits
    • Jeremy White's avatar
      Revise the XSpice audio processing to avoid the use of pthreads. · 69a273a2
      Jeremy White authored
      The initial implementation used a separate thread to drive the audio
      playback channel.  But if you have adaptive streaming turned on,
      you will eventually get a update_client_playback_latency message on the
      display channel (which in the Xspice case is being driven by the main,
      Xorg, thread).
      
      After enough time you would get a thread collision and bad things
      would result.  I saw this manifest as infinite spin loops in snd_send_data.
      
      This patch eliminates the use of threading altogether, making everything
      run in the main Xorg thread using watches and timers, eliminating the
      possibility of thread collision.
      69a273a2
    • Christophe Fergeau's avatar
      drmmode: Fix compilation warning · 0703b142
      Christophe Fergeau authored
      One recent change introduced a gcc compilation warning:
      
        CC       qxl_drmmode.lo
      qxl_drmmode.c: In function 'drmmode_set_mode_major':
      qxl_drmmode.c:251:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
               CursorPtr cursor = xf86_config->cursor;
      
      This commit moves the CursorPtr declaration to the top of the
      drmmode_set_mode_major function in order to fix that warning.
      0703b142
  17. 17 Oct, 2014 4 commits
  18. 19 Sep, 2014 5 commits
  19. 22 Aug, 2014 3 commits
  20. 18 Aug, 2014 1 commit
  21. 09 Jul, 2014 1 commit