gclosure: Expand documentation and fix some typos

The critical omission from the GClosure documentation is that you need
to call g_closure_set_marshal() when implementing a custom GClosure.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
Reviewed-by: nobody
This commit is contained in:
Philip Withnall 2018-04-26 18:04:47 +01:00
parent 8056b753e5
commit 16e58dc901
2 changed files with 4 additions and 2 deletions

View File

@ -54,7 +54,9 @@
* library provides the #GCClosure type for this purpose. Bindings for
* other languages need marshallers which convert between #GValues
* and suitable representations in the runtime of the language in
* order to use functions written in that languages as callbacks.
* order to use functions written in that language as callbacks. Use
* g_closure_set_marshal() to set the marshaller on such a custom
* closure implementation.
*
* Within GObject, closures play an important role in the
* implementation of signals. When a signal is registered, the

View File

@ -200,7 +200,7 @@ struct _GClosure
/*< private >*/ GClosureNotifyData *notifiers;
/* invariants/constrains:
/* invariants/constraints:
* - ->marshal and ->data are _invalid_ as soon as ->is_invalid==TRUE
* - invocation of all inotifiers occours prior to fnotifiers
* - order of inotifiers is random