| 718 | } |
| 719 | |
| 720 | void GjsCallbackTrampoline::invoke_callback_closure(ffi_cif*, void* result, |
| 721 | void** ffi_args, |
| 722 | void* data) { |
| 723 | auto** args = reinterpret_cast<GIArgument**>(ffi_args); |
| 724 | g_assert(data && "Trampoline data is not set"); |
| 725 | Gjs::Closure::Ptr trampoline{static_cast<GjsCallbackTrampoline*>(data), |
| 726 | Gjs::TakeOwnership{}}; |
| 727 | |
| 728 | trampoline.as<GjsCallbackTrampoline>()->callback_closure(args, result); |
| 729 | } |
| 730 | |
| 731 | ffi_closure* GjsCallbackTrampoline::create_closure() { |
| 732 | return m_info.create_closure( |
nothing calls this directly
no test coverage detected