Skip to content

imprv: vfunc and AsyncReadyCallback signatures#308

Merged
bryanforbes merged 1 commit into
pygobject:masterfrom
bryanforbes:fix/vfunc-arguments
May 17, 2026
Merged

imprv: vfunc and AsyncReadyCallback signatures#308
bryanforbes merged 1 commit into
pygobject:masterfrom
bryanforbes:fix/vfunc-arguments

Conversation

@bryanforbes
Copy link
Copy Markdown
Collaborator

  • Split Gio.AsyncReadyCallback into two private aliases: _AsyncReadyCallback for single user_data and _AsyncReadyVarArgsCallback for variadic user_data. Public async functions and methods now use the var-args form, while vfuncs and simple_async_report_gerror_in_idle use the single form.
  • Treat vfuncs on objects/interfaces as methods so they receive self, keep their destroy/closure args visible, and emit them as positional-only (trailing /) since PyGObject's C marshaller invokes them positionally.

- Split `Gio.AsyncReadyCallback` into two private aliases:
  `_AsyncReadyCallback` for single user_data and
  `_AsyncReadyVarArgsCallback` for variadic user_data. Public
  async functions and methods now use the var-args form, while
  vfuncs and `simple_async_report_gerror_in_idle` use the single
  form.
- Treat vfuncs on objects/interfaces as methods so they receive
  `self`, keep their destroy/closure args visible, and emit them
  as positional-only (trailing `/`) since PyGObject's C
  marshaller invokes them positionally.
@bryanforbes bryanforbes merged commit 26eff58 into pygobject:master May 17, 2026
2 checks passed
@bryanforbes bryanforbes deleted the fix/vfunc-arguments branch May 17, 2026 01:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant