1. 29 Sep, 2020 2 commits
  2. 28 Sep, 2020 1 commit
  3. 23 Sep, 2020 4 commits
  4. 21 Sep, 2020 4 commits
    • Vlad Zahorodnii's avatar
      Keep unreferenced buffers around · fcfdab06
      Vlad Zahorodnii authored
      One problem with delaying destruction of buffer objects is that the
      compositor may create a shadow that references defunct buffers.
      
      One way to fix that issue is to immediately destroy buffers. However,
      there is other way to address the issue - keep released buffers alive.
      
      If a buffer is kept alive by the client, then it will most likely be
      used again. It also simplifies buffer management.
      
      BUG: 425233
      fcfdab06
    • Vlad Zahorodnii's avatar
      Untangle SurfaceInterface and BufferInterface · 9f814c49
      Vlad Zahorodnii authored
      A wl_buffer object can be bound to multiple surfaces or none at all. So
      the BufferInterface::surface() property makes very little sense.
      9f814c49
    • Bhushan Shah's avatar
      Update version number for 5.20.80 · 091bef61
      Bhushan Shah authored
      GIT_SILENT
      091bef61
    • David Edmundson's avatar
      [DataOffer] Avoid calls on null DataSource · 6feeeb10
      David Edmundson authored
      A DataOffer can slightly outlive a DataSource; a client will still be
      told it's deleted but could call a method in a race.
      
      DataOfferInterface correctly checks for source being still valid, but
      nothing updates it when it gets deleted.
      
      BUG: 396308
      6feeeb10
  5. 17 Sep, 2020 3 commits
  6. 11 Sep, 2020 2 commits
  7. 05 Sep, 2020 1 commit
  8. 04 Sep, 2020 2 commits
  9. 03 Sep, 2020 4 commits
  10. 02 Sep, 2020 2 commits
  11. 27 Aug, 2020 1 commit
  12. 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.
      8bc82279
  13. 23 Aug, 2020 1 commit
  14. 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.
      8c0d27e0
  15. 20 Aug, 2020 1 commit
  16. 19 Aug, 2020 1 commit
  17. 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.
      8f5cc410
    • 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.
      0069d881
  18. 17 Aug, 2020 1 commit
  19. 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
      edbde063
    • David Edmundson's avatar
      [autotests] Cleanup DataControlInterface test · e8a43b6b
      David Edmundson authored
      The tests were not fully self-encapsulating and leaky.
      e8a43b6b
  20. 06 Aug, 2020 2 commits
  21. 05 Aug, 2020 1 commit
  22. 28 Jul, 2020 1 commit