Skip to content
Snippets Groups Projects
  1. May 31, 2020
  2. May 19, 2020
  3. May 14, 2020
  4. May 13, 2020
  5. May 12, 2020
  6. May 07, 2020
    • George Kiagiadakis's avatar
      global: properly destroy impl proxies that were removed by the server · ded2e34e
      George Kiagiadakis authored
      When a pw_global is removed on the server (by pw_registry_destroy() or other
      means), it triggers the proxy removed & the registry global_remove callbacks,
      but it does not necessarily destroy the pw_proxy.
      
      For client proxies, we were previously destroying them by unrefing the WpProxy
      in wp_global_rm_flags(), since the global was not "owned" by the WpProxy.
      
      For impl proxies, we were not doing anything, as we expected that it would
      only be removed from the registry if the local WpProxy was destroyed first.
      This is not always the case, though, as the server or another client may
      request to destroy this proxy with pw_registry_destroy()
      
      Now we always destroy the pw_proxy as soon as it is removed from the registry,
      no matter if it was a client or an impl proxy. If it was an impl proxy,
      the WpProxy will continue to live and it's up to the code that created it
      to handle the "pw-proxy-destroyed" signal and do something meaningful.
      If it was a client proxy, the global will still unref the WpProxy right after
      destroying the pw_proxy and there is no change in behavior.
      ded2e34e
    • George Kiagiadakis's avatar
  7. May 03, 2020
  8. May 01, 2020
  9. Apr 24, 2020
    • George Kiagiadakis's avatar
      object-manager: implement the 'installed' signal and improve state management · 9f1b46ee
      George Kiagiadakis authored
      The 'installed' signal can be used to know that there are no
      known objects that are being prepared internally, so the object
      manager is ready to use.
      
      This also improves internal state management so that the 'objects-changed'
      signal cannot be fired earlier than it should. Previously there
      were corner cases with complex proxy features, as the object manager
      relied on the fact that after a core 'sync' it is safe to assume
      that all proxies are augmented... that's not always the case.
      9f1b46ee
  10. Apr 21, 2020
  11. Apr 14, 2020
  12. Mar 31, 2020
  13. Feb 19, 2020
  14. Feb 17, 2020
  15. Feb 14, 2020
  16. Feb 12, 2020
  17. Feb 10, 2020
    • George Kiagiadakis's avatar
      proxy: replace global-id with bound-id · d8ae151a
      George Kiagiadakis authored
      + use the pw_proxy API to find the bound id instead
      of relying on WpGlobal
      
      This has the advantage that it works also for exported
      objects and for objects that have been created by calling
      into a remote factory (such as the link-factory), so we can
      now know the global id of all proxies, not only the ones
      that have been created by the registry.
      d8ae151a
  18. Jan 13, 2020
  19. Dec 05, 2019
    • George Kiagiadakis's avatar
      object-manager: keep a reference to self while doing a core sync · 92107e83
      George Kiagiadakis authored
      Otherwise, if the object manager is destroyed while a sync is in progress,
      we get an invalid 'self' pointer on the callback later, which is being
      called regardless
      
      There is a bit more work that should be done in the core to avoid leaking
      this ref in case pipewire disconnects before the sync is completed
      92107e83
  20. Dec 04, 2019
  21. Nov 27, 2019
  22. Nov 13, 2019
Loading