1. 07 Mar, 2020 3 commits
  2. 06 Mar, 2020 1 commit
  3. 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
  4. 12 Feb, 2020 2 commits
  5. 09 Feb, 2020 1 commit
  6. 06 Feb, 2020 1 commit
  7. 01 Feb, 2020 1 commit
  8. 24 Jan, 2020 1 commit
  9. 23 Jan, 2020 1 commit
  10. 14 Jan, 2020 1 commit
  11. 11 Jan, 2020 1 commit
  12. 03 Jan, 2020 1 commit
  13. 30 Dec, 2019 2 commits
  14. 21 Dec, 2019 1 commit
  15. 14 Dec, 2019 1 commit
  16. 09 Dec, 2019 1 commit
  17. 07 Dec, 2019 2 commits
  18. 03 Dec, 2019 1 commit
  19. 27 Nov, 2019 1 commit
    • Roman Gilg's avatar
      [server] Do not own dmabuf implementation · 005a8ede
      Roman Gilg authored
      Summary:
      The dmabuf implementation should be managed by the compositor and not by the
      interface which might go away through signals while the implementation goes
      away in the compositor simultaneously.
      
      Test Plan: Compiles.
      
      Reviewers: #kwin, davidedmundson
      
      Reviewed By: #kwin, davidedmundson
      
      Subscribers: kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D25576
      005a8ede
  20. 26 Nov, 2019 1 commit
    • Vlad Zahorodnii's avatar
      [server] Make double-buffered properties in xdg-shell double-buffered · d0b3eab8
      Vlad Zahorodnii authored
      Summary:
      So far all double-buffered properties in our implementation of xdg-shell
      weren't actually double-buffered. When a property setter is invoked, we
      pray to the God hoping that the client committed associated surface.
      
      This change introduces private SurfaceRole class. The new class provides
      a way for SurfaceInterface to commit pending state of associated shell
      surface.
      
      The chosen architecture allows us to do more in the future. For example,
      we could use SurfaceRole to prevent associating several roles to a single
      wl_surface object, e.g. xdg-toplevel to a pointer surface, etc.
      
      Test Plan: This change breaks support for client-side decorated clients in KWin.
      
      Reviewers: #kwin
      
      Subscribers: kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D23745
      d0b3eab8
  21. 22 Nov, 2019 1 commit
  22. 10 Nov, 2019 1 commit
  23. 03 Nov, 2019 1 commit
  24. 02 Nov, 2019 1 commit
  25. 24 Oct, 2019 1 commit
  26. 22 Oct, 2019 2 commits
  27. 20 Oct, 2019 1 commit
    • Friedrich W. H. Kossebau's avatar
      Use ECMGenerateExportHeader to manage deprecated API better · 1fb1906a
      Friedrich W. H. Kossebau authored
      Summary:
      Allows
      * projects linking to KWayland to hide deprecated API up to a
        given version or silence deprecation warnings after a given version,
        using
        * -DKWAYLAND_DISABLE_DEPRECATED_BEFORE_AND_AT
        * -DKWAYLAND_NO_DEPRECATED
        * -DKWAYLAND_DEPRECATED_WARNINGS_SINCE
        * -DKWAYLAND_NO_DEPRECATED_WARNINGS
      
        or
        * -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT
        * -DKF_NO_DEPRECATED
        * -DKF_DEPRECATED_WARNINGS_SINCE
        * -DKF_NO_DEPRECATED_WARNINGS
      
      No support for "EXCLUDE_DEPRECATED_BEFORE_AND_AT", needs to be done by
      someone with detailed knowledge about disabling implementation, if wanted.
      
      Reviewers: #kwin
      
      Subscribers: zzag, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D24663
      1fb1906a
  28. 15 Oct, 2019 1 commit
  29. 12 Oct, 2019 1 commit
  30. 06 Oct, 2019 1 commit
  31. 17 Sep, 2019 2 commits
  32. 16 Sep, 2019 1 commit
  33. 15 Sep, 2019 1 commit
    • Frederik Gladhorn's avatar
      Improve documentation · 6388d550
      Frederik Gladhorn authored
      Summary:
      Some of the documentation did not say what the purpose of the
      respective class was, but rather gave a tautology.
      For people new to the code base it helps to mention that
      DPMS is power management.
      
      That DataDevice is for copy-and-paste and drag-and-drop is
      maybe obvious to people used to X11 API, but not very clear
      to most others.
      
      When first reading the KWayland code, some explanations
      help getting around.
      
      Reviewers: #kwin, romangg
      
      Reviewed By: #kwin, romangg
      
      Subscribers: romangg, zzag, kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D23915
      6388d550