Skip to content
Snippets Groups Projects
  1. Feb 14, 2020
    • George Kiagiadakis's avatar
      registry: fix internal documentation · 472d63e1
      George Kiagiadakis authored
      472d63e1
    • George Kiagiadakis's avatar
      registry: expose tmp globals in the order they appeared on the pw registry · 51272907
      George Kiagiadakis authored
      some code is expecting things to happen in that order...
      51272907
    • George Kiagiadakis's avatar
      registry: safely destroy proxy when its initial augment is still in progress · 813351bc
      George Kiagiadakis authored
      ... in case the global is removed from the registry before
      the initial augment completes
      813351bc
    • George Kiagiadakis's avatar
      registry: use a temporary globals list · 269b9e19
      George Kiagiadakis authored
      When a new global is created, it is not certain
      if the registry global event or the proxy bound event will
      be fired first. In order to make sure we associate all
      proxies to their WpGlobals correctly, we now wait a core sync
      before exposing globals to the object managers, so that in case
      the implementation proxy receives the bound event after the
      registry creates the WpGlobal, we can make sure to use this
      proxy instead of constructing a new one through the object managers
      269b9e19
    • George Kiagiadakis's avatar
      object-manager: refactor to be able to track locally created proxies · 753e7085
      George Kiagiadakis authored
      There are 3 kinds of WpProxy objects:
       * the ones that are created as a result of binding a global
         from the registry
       * the ones that are created as a result of calling into a remote
         factory (wp_node_new_from_factory, etc...)
       * the ones that are a local implementation of an object
         (WpImplNode, etc...) and are exported
      
      Previously the object manager was only able to track the first kind.
      With these changes we can now also have globals associated with
      WpProxies that were created earlier (and caused the creation of the global).
      This saves some resources and reduces round-trips (in case client
      code wants to change properties of an object that is locally
      implemented, it shouldn't need to do a round-trip through the server)
      753e7085
  2. Feb 12, 2020
  3. 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
  4. Jan 13, 2020
  5. 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
  6. Dec 04, 2019
  7. Nov 27, 2019
  8. Nov 13, 2019
Loading