1. 25 Nov, 2018 1 commit
  2. 19 Nov, 2018 6 commits
    • Michel Dänzer's avatar
      xwayland: Don't take buffer release queue into account for frame timer · e6cd1c9b
      Michel Dänzer authored and Adam Jackson's avatar Adam Jackson committed
      The buffer release queue has two kinds of entries:
      
      * Pending async flips.
      * Completed flips waiting for their buffer to be released by the Wayland
        compositor.
      
      xwl_present_timer_callback neither completes async flips nor releases
      buffers, so the timer isn't needed for the buffer release queue.
      e6cd1c9b
    • Michel Dänzer's avatar
      xwayland: Don't need xwl_window anymore in xwl_present_queue_vblank · f5416153
      Michel Dänzer authored and Adam Jackson's avatar Adam Jackson committed
      Fixes issue #12. Presumably the problem was that Present operations on
      unmapped windows were executed immediately instead of only when reaching
      the target MSC.
      f5416153
    • Michel Dänzer's avatar
      xwayland: Add xwl_present_unrealize_window · 8c953857
      Michel Dänzer authored and Adam Jackson's avatar Adam Jackson committed
      When a window is unrealized, a pending frame callback may never be
      called, which could result in repeatedly freezing until the frame timer
      fires after a second.
      
      Fixes these symptoms when switching from fullscreen to windowed mode in
      sauerbraten.
      8c953857
    • Michel Dänzer's avatar
      xwayland: Replace xwl_window::present_window with ::present_flipped · 6b016d58
      Michel Dänzer authored and Adam Jackson's avatar Adam Jackson committed
      There's no need to keep track of the window which last performed a
      Present flip. This fixes crashes due to the assertion in
      xwl_present_flips_stop failing. Fixes issue #10.
      
      The damage generated by a flip only needs to be ignored once, then
      xwl_window::present_flipped can be cleared. This may fix freezing in
      the (hypothetical) scenario where Present flips are performed on a
      window, followed by other drawing requests using the window as the
      destination, but nothing triggering xwl_present_flips_stop. The damage
      from the latter drawing requests would continue being ignored.
      6b016d58
    • Ray Strode's avatar
      dix: ensure work queues are cleared on reset · 8738ce85
      Ray Strode authored and Adam Jackson's avatar Adam Jackson committed
      If the server resets, most client workqueues are cleaned up as the
      clients are killed.
      
      The one exception is the server's client, which is exempt from
      the killing spree.
      
      If that client has a queued work procedure active, it won't get
      cleared on reset.
      
      This commit ensures it gets cleared too.
      8738ce85
    • Samuel Thibault's avatar
      dix: do not send focus event when grab actually does not change · 364d6498
      Samuel Thibault authored and Adam Jackson's avatar Adam Jackson committed
      c67f2eac
      
       ("dix: always send focus event on grab change") made dix
      always sent events when it's a NotifyGrab or NotifyUngrab, even if
      from == to, because 'from' can just come from a previous XSetInputFocus
      call.
      
      However, when an application calls XGrabKeyboard several times on
      the same window, we are now sending spurious FocusOut+FocusIn with
      NotifyGrab, even if the grab does not actually change. This makes screen
      readers for blind people spuriously emit activity events which disturb
      screen reading workflow when e.g. switching between menus.
      
      This commit avoids calling DoFocusEvents in that precise case, i.e. when
      oldWin is a previous grab and the new grab is the same window.
      Signed-off-by: Samuel Thibault's avatarSamuel Thibault <samuel.thibault@ens-lyon.org>
      Reviewed-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      364d6498
  3. 14 Nov, 2018 1 commit
  4. 13 Nov, 2018 5 commits
  5. 12 Nov, 2018 2 commits
  6. 10 Nov, 2018 1 commit
  7. 06 Nov, 2018 1 commit
  8. 31 Oct, 2018 1 commit
  9. 30 Oct, 2018 1 commit
  10. 29 Oct, 2018 1 commit
  11. 25 Oct, 2018 12 commits
  12. 24 Oct, 2018 3 commits
  13. 23 Oct, 2018 2 commits
  14. 18 Oct, 2018 2 commits
  15. 16 Oct, 2018 1 commit