asset: fix handling of proxies
authorHenry Wilkes <hwilkes@igalia.com>
Thu, 5 Mar 2020 18:15:41 +0000 (18:15 +0000)
committerThibault Saunier <tsaunier@igalia.com>
Thu, 5 Mar 2020 20:04:51 +0000 (17:04 -0300)
commit7f65b7be0c48fcd603620ad456d9885e1c0d7fa1
tree431cfe3fdf305c24f9c746f9cf38c4f441d7cac2
parentb03915bc87640ec67dcd2fa18257798e71ebbe63
asset: fix handling of proxies

Previous usage of the property proxy-target seemed to alternate between
the two definitions:
+ The asset we are the default proxy of
+ The asset we are in the proxy list of
Now, the latter definition is used, which seems more useful to a user
since knowing the latter can easily allow you to find out the former.

The previous behaviour of ges_asset_set_proxy (asset, NULL) was not very
clear. It is now defined so that it clears all the proxies for 'asset'.
This means that after this call, the GESAsset:proxy property will indeed
be NULL.

Also fixed:
+ We can call ges_asset_set_proxy (asset, proxy) when 'proxy' is already
  in the proxy list of 'asset'.
+ Handling of removing the default proxy in ges_asset_unproxy. This was
  sending out the wrong notifies.
+ Prohibiting circular proxying. Before we could only prevent one case,
  we should now be able to prevent all cases. This will prevent a hang
  in ges_asset_request.
ges/ges-asset.c
tests/check/ges/asset.c