1. 01 Aug, 2020 1 commit
  2. 27 Jul, 2020 1 commit
  3. 23 Jul, 2020 2 commits
  4. 13 Jul, 2020 1 commit
  5. 12 Jul, 2020 1 commit
  6. 04 Jul, 2020 1 commit
  7. 13 Jun, 2020 1 commit
  8. 06 Jun, 2020 1 commit
  9. 28 May, 2020 1 commit
    • Adriaan de Groot's avatar
      Fix test-building on FreeBSD · a60fcb70
      Adriaan de Groot authored
      The <linux/input.h> header doesn't necessarily exist on FreeBSD
      (it is provided by ports, which aren't required for the rest
      of KWayland it seems). Test *testRemoteAccess* uses that header,
      but doesn't actually need it; just drop the #include.
      a60fcb70
  10. 20 May, 2020 1 commit
  11. 19 May, 2020 1 commit
  12. 09 May, 2020 1 commit
  13. 02 May, 2020 1 commit
  14. 29 Apr, 2020 1 commit
  15. 27 Apr, 2020 1 commit
  16. 24 Apr, 2020 1 commit
    • David Edmundson's avatar
      Add wrapper for wl_global_remove · c557cdba
      David Edmundson authored
      Summary:
      Removes the Global from the registry, but does not delete the underlying
      wl_global
      
      Removal of a global is racey in wayland.
      A client could be trying to bind at that moment.
      
      Typically globals are static for the lifespan of the compositor, however
      there are exceptions
      
      For those cases this call will can remove the global from the registry,
      but still keep the wl_global instance alive
      and handling bind requests.
      
      The compositor can then remove the Global wrapper (this object) deleting
      the wl_global after an arbitrary delay or
      keep it around for re-use for the duration of the compositor.
      
      Test Plan:
      Unit test
      Made blur global outlive BlurEffect - no longer disconnects plasma on config changes
      
      Reviewers: #plasma, apol
      
      Reviewed By: apol
      
      Subscribers: kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D28883
      c557cdba
  17. 22 Apr, 2020 1 commit
  18. 17 Apr, 2020 1 commit
    • David Edmundson's avatar
      [autotests] Optimistic attempt to fix RemoteAccessTest reilability · 1b141294
      David Edmundson authored
      Summary:
      In this test we are waiting on 4 events. 2 things via 2 threads. It was
      unstable.
      
      This patch avoids hardcoding a bunch of ifs() handling recieving
      different orders, by waiting for both events.
      
      We can't use QTRY_COMPARE as ConnectionThread does magic things with
      QCoreApplication::eventDispatcher which don't work quite the same.
      
      This is a bit of a shot in the dark. It passes 100% of the time locally,
      lets see what CI manages to do :)
      
      Test Plan: Ran test :)
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: zzag, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D28892
      1b141294
  19. 11 Apr, 2020 1 commit
  20. 04 Apr, 2020 1 commit
  21. 30 Mar, 2020 1 commit
    • Aleix Pol Gonzalez's avatar
      Fix warnings · 3a7f50d5
      Aleix Pol Gonzalez authored
      Summary:
      Remove unused variables and members.
      We were often storing the q of classes without ever needing them. I'd
      just do it when it's useful. We do it in the private class so it can
      always be added, removes boilerplate code.
      
      Don't use std::move when returning temporary QImage. The compiler is
      smart enough to know to do it but produces the warning "moving a
      temporary object prevents copy elision".
      
      Remove unused lambda captured variables.
      
      Test Plan: Getting much cleaner build logs
      
      Reviewers: #frameworks, #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: zzag, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D28442
      3a7f50d5
  22. 26 Mar, 2020 1 commit
  23. 24 Mar, 2020 3 commits
  24. 21 Mar, 2020 1 commit
  25. 20 Mar, 2020 2 commits
  26. 19 Mar, 2020 3 commits
    • Aleix Pol Gonzalez's avatar
      Provide an implementation for the tablet interface · a009c8c0
      Aleix Pol Gonzalez authored
      Summary:
      Implements the necessary classes to have proper support for the tablet and pen.
      Doesn't implement yet the ring/slider/totem bits.
      
      Test Plan:
      Used it with Plasma and GTK clients, together with the kwin patch I'll submit soon.
      https://youtu.be/GGx0TlNJlzs
      
      Also I added a test.
      
      Reviewers: #kwin, #frameworks, zzag, davidedmundson
      
      Reviewed By: #kwin, zzag, davidedmundson
      
      Subscribers: davidedmundson, zzag, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D26858
      a009c8c0
    • Vlad Zahorodnii's avatar
      [server] Don't make assumptions about the order of damage_buffer and attach requests · ff9cadf0
      Vlad Zahorodnii authored
      Summary:
      The spec says nothing about the order between damage_buffer and attach
      requests.
      
      Test Plan: Firefox doesn't become frozen. Although there are still issues with resizing.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: davidedmundson, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D28147
      ff9cadf0
    • Vlad Zahorodnii's avatar
      Pass a dedicated fd to each keyboard for the xkb keymap · 6bfa71d8
      Vlad Zahorodnii authored
      Summary:
      To better isolate the clients from each other eachh KeyboardInterface
      creates it's own dedicated temporary file and sends the fd for this
      temporary file to the client. This means the memory for the keymap is no
      longer shared between all clients, every client has an own copy.
      
      To support this the existing API to set the keymap is deprecated and
      replaced by a new method setKeymapData which takes the content of the
      keymap as a byte array. The now deprecated method which takes a file
      descriptor is changed to use the new setKeymapData method. For that it
      reads the content of the file.
      
      The implementation in KeyboardInterface to create the file descriptor is
      based on the implementation of KWin. As I implemented the change in KWin
      (see 3b4c508ee36ac74c37e77fcaa14d106397ad2994) it is not a problem from
      GPL vs LGPL perspective.
      
      The change includes test cases to verify that the content of the keymap
      is properly passed to the client and that the memory is no longer shared.
      
      BUG: 381674
      
      Reviewers: #kwin, #frameworks, davidedmundson, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: plasma-devel, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D14910
      6bfa71d8
  27. 18 Mar, 2020 1 commit
    • Vlad Zahorodnii's avatar
      [server] Introduce SurfaceInterface::boundingRect() · deb476e4
      Vlad Zahorodnii authored
      Summary:
      The new method provides a convenient way for determining the rectangle
      that bounds the given surface and all of its sub-surfaces. This can be
      very handy when determining the effective window geometry.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: apol, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27828
      deb476e4
  28. 16 Mar, 2020 1 commit
  29. 12 Mar, 2020 1 commit
  30. 07 Mar, 2020 3 commits
  31. 06 Mar, 2020 1 commit
  32. 21 Feb, 2020 1 commit
    • Daniel Vrátil's avatar
      Registry: don't destroy the callback on globalsync · 4ceb3567
      Daniel Vrátil authored
      Summary:
      Instead just unref it, because the wl_display_dispatch_queue_pending
      will try to destroy the callback afterwards as well, leading to
      invalid read/write.
      
      Fixes Valgrind warnings when running KScreen tests:
      ```
      ==460922== Invalid read of size 4
      ==460922==    at 0x5CE5B34: wl_proxy_unref (wayland-client.c:230)
      ==460922==    by 0x5CE5C33: destroy_queued_closure (wayland-client.c:292)
      ==460922==    by 0x5CE74AB: dispatch_queue (wayland-client.c:1591)
      ==460922==    by 0x5CE74AB: wl_display_dispatch_queue_pending (wayland-client.c:1833)
      ==460922==    by 0x4E0240D: KWayland::Client::EventQueue::dispatch() (src/frameworks/kwayland/src/client/event_queue.cpp:96)
      g==460922==  Address 0x17233aac is 44 bytes inside a block of size 80 free'd
      ==460922==    at 0x483B9F5: free (vg_replace_malloc.c:540)
      ==460922==    by 0x4E15B60: destroy (src/frameworks/kwayland/src/client/wayland_pointer_p.h:63)
      ==460922==    by 0x4E15B60: KWayland::Client::Registry::Private::globalSync(void*, wl_callback*, unsigned int) (src/frameworks/kwayland/src/client/registry.cpp:548)
      ...
      ==460922==    by 0x5CE74AB: dispatch_queue (wayland-client.c:1591)
      ==460922==    by 0x5CE74AB: wl_display_dispatch_queue_pending (wayland-client.c:1833)
      ==460922==    by 0x4E0240D: KWayland::Client::EventQueue::dispatch() (src/frameworks/kwayland/src/client/event_queue.cpp:96)
      ```
      
      Test Plan: Run testkwaylandbackend from libkscreen under Valgrind - no more invalid reads
      
      Reviewers: #kwin, zzag
      
      Reviewed By: #kwin, zzag
      
      Subscribers: zzag, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27538
      4ceb3567