1. 03 Sep, 2020 1 commit
  2. 02 Sep, 2020 2 commits
  3. 27 Aug, 2020 1 commit
  4. 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
  5. 23 Aug, 2020 1 commit
  6. 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
  7. 20 Aug, 2020 1 commit
  8. 19 Aug, 2020 1 commit
  9. 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
  10. 17 Aug, 2020 1 commit
  11. 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
  12. 06 Aug, 2020 2 commits
  13. 05 Aug, 2020 1 commit
  14. 28 Jul, 2020 11 commits
  15. 23 Jul, 2020 4 commits
  16. 16 Jul, 2020 1 commit
  17. 15 Jul, 2020 7 commits