v1.0.0-beta-2
Pre-release
Pre-release
neilcsmith-net
released this
19 Mar 16:21
·
92 commits
to master
since this release
Updated beta for v1.0.0 - see v1.0.0-beta-1 for major changes.
- FIX make sure
GObject
subclasses can be GC'd after explicit call todispose()
- fixes #146 - Minor updates to
NativeObject.Handle
API and added documentation. The atomic reference and boolean fields are now correctly private (mistakenly left protected in beta-1).ownsHandle()
renamed asownsReference()
. - Move
GObject
signal andPad
probe native management intoHandle
to ensure the callbacks are removed when GC'd as before.- Behavioural change - all callbacks are now disconnected on explicit calls to
invalidate()
anddispose()
. In general make sure to keep references to objects with callbacks and dispose of them explicitly - relying on the GC for this is not recommended. - The Pad method for adding an event probe with an
int
mask has been removed from the API. - Event probe testing has been fixed.
- Behavioural change - all callbacks are now disconnected on explicit calls to
NativeObject
now implementsAutoCloseable
. Defaults to callingdispose()
.- FIX getting a
GObject
subclass from aGValue
will now return a caller-owned reference (switched tog_value_dup_object
). Iterating objects, eg. by callinggetPads()
would return and cache unowned objects whose lifecycle was not correctly tracked. This might cause regressions if code relied on the old behaviour. Bus
disposal is now linked toPipeline
lifecycle. Bus instances will be GC'd even when not explicitly closed. Test for this no longer ignored.- Added a system property to detach callback threads (workaround for #147 where JNA isn't clearing thread proxies on macOS) - use
-Dglib.detachCallbackThreads=true