Set @dispose as dispose function on @source. @dispose will be called once
the reference count of @source reaches 0 but before any of the state of the
source is freed, especially before the finalize function is called.
This means that at this point @source is still a valid #GSource and it is
allow for the reference count to increase again until @dispose returns.
The dispose function can be used to clear any "weak" references to the
@source in other data structures in a thread-safe way where it is possible
for another thread to increase the reference count of @source again while
it is being freed.
The finalize function can not be used for this purpose as at that point
@source is already partially freed and not valid anymore.
This should only ever be called from #GSource implementations.
Set @dispose as dispose function on @source. @dispose will be called once the reference count of @source reaches 0 but before any of the state of the source is freed, especially before the finalize function is called.
This means that at this point @source is still a valid #GSource and it is allow for the reference count to increase again until @dispose returns.
The dispose function can be used to clear any "weak" references to the @source in other data structures in a thread-safe way where it is possible for another thread to increase the reference count of @source again while it is being freed.
The finalize function can not be used for this purpose as at that point @source is already partially freed and not valid anymore.
This should only ever be called from #GSource implementations.