1. 02 Sep, 2020 1 commit
  2. 27 Aug, 2020 1 commit
  3. 25 Aug, 2020 1 commit
    • David Edmundson's avatar
      Delete resources in XdgOutput teardown · 8bc82279
      David Edmundson authored
      Generated code typically cleans up resource objects when the client
      calls the relevant destructor.
      In multi-cast mode our wrapper can be deleted at any time, whilst a
      client resource exists any existing resources that have a pending
      message will then crash the compositor.
      Deleting resources ahead of time also resolves this. calls to this
      resource will no-op. The zxdg_output_v1::destroy_func will then be
      called to delete the Resource object.
  4. 23 Aug, 2020 1 commit
  5. 21 Aug, 2020 1 commit
    • Vlad Zahorodnii's avatar
      Post an error if the client attempts to create input panel surface for surface... · 8c0d27e0
      Vlad Zahorodnii authored
      Post an error if the client attempts to create input panel surface for surface that already has role
      If a client attempts to create an input panel surface for a wl_surface
      that already has a role assigned, we must post a protocol error or else
      the behavior of the input panel surface will be undefined.
      Posting an error of 0 is not really correct, but on the other hand the
      spec has no any error enums.
  6. 20 Aug, 2020 1 commit
  7. 19 Aug, 2020 1 commit
  8. 18 Aug, 2020 2 commits
    • Vlad Zahorodnii's avatar
      Revert "Don't flush in SurfaceInterface::frameRendered()" · 8f5cc410
      Vlad Zahorodnii authored
      This reverts commit 0069d881.
      Unfortunately, 0069d881 broke a couple of tests in kwin due to Qt not
      emitting QAbstractEventDispatcher::aboutToBlock() signal when macros
      such as QTRY_VERIFY() or QTRY_COMPARE() spin the event loop.
    • Vlad Zahorodnii's avatar
      Don't flush in SurfaceInterface::frameRendered() · 0069d881
      Vlad Zahorodnii authored
      Frame callbacks only indicate when the client can start rendering a new
      frame, it's not meant to be precise. If the client wants to do some
      black magic with frame scheduling and so on, it needs to use a protocol
      such as presentation_time. This change removes the pointless flush to
      prevent over-flushing client connections.
  9. 17 Aug, 2020 1 commit
  10. 14 Aug, 2020 2 commits
    • David Edmundson's avatar
      Add a workaround to prevent klipper racing with clipboard updates · edbde063
      David Edmundson authored
      We have a situation where some clients drop their old offer before
      creating a new one. This means klipper tries to fill in the empty
      clipboard at the same time the client posts its new real contents.
      This adds in a flag (via a hidden mimetype) that klipper is trying to
      replace a null clipboard. If this flag is set and our clipboard is not
      null because the client has updated it in the meantime we ignore the
      klipper update.
      It's a workaround, rather than an ideal fix at a data level, but it
      solves the problem in the interim.
      CCBUG: 424855
    • David Edmundson's avatar
      [autotests] Cleanup DataControlInterface test · e8a43b6b
      David Edmundson authored
      The tests were not fully self-encapsulating and leaky.
  11. 06 Aug, 2020 2 commits
  12. 05 Aug, 2020 1 commit
  13. 28 Jul, 2020 11 commits
  14. 23 Jul, 2020 4 commits
  15. 16 Jul, 2020 1 commit
  16. 15 Jul, 2020 7 commits
  17. 14 Jul, 2020 2 commits