libgimp: Fix issue #7387 luajit.exe crashes on Windows

On Windows our Lua goat extension crashed when run. After some digging
it appeared that incorrect annotations were the cause.
The destroy annotation was clearly an error when loking at the gir API
documentation. However, it also crashed on `(closure run_func)`, which
seemed to be as it should.

After comparing what other libraries do and testing, it seems that the
documentation for (closure CLOSURE) is incorrect. See the discussion
in the above mentioned issue.
The correct use here seems to be to use it as annotation of the run_func
where CLOSURE points to the user data. So, that's what we implement here.
This commit is contained in:
Jacob Boerema 2022-04-15 18:48:33 -04:00
parent 3bb6923122
commit d3e38ea4b9
1 changed files with 4 additions and 4 deletions

View File

@ -225,16 +225,16 @@ gimp_image_procedure_set_sensitivity (GimpProcedure *procedure,
* @plug_in: a #GimpPlugIn.
* @name: the new procedure's name.
* @proc_type: the new procedure's #GimpPDBProcType.
* @run_func: the run function for the new procedure.
* @run_data: (closure run_func): user data passed to @run_func.
* @run_data_destroy: (destroy run_func) (nullable): free function for @run_data, or %NULL.
* @run_func: (closure run_data) the run function for the new procedure.
* @run_data: user data passed to @run_func.
* @run_data_destroy: (destroy run_data) (nullable): free function for @run_data, or %NULL.
*
* Creates a new image procedure named @name which will call @run_func
* when invoked.
*
* See [ctor@Procedure.new] for information about @proc_type.
*
* Returns: a new #GimpProcedure.
* Returns: (transfer full): a new #GimpProcedure.
*
* Since: 3.0
**/