mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 07:26:15 +01:00
7a528d0ff0
Previously `gi_object_info_find_signal()` used `gi_object_info_get_signal()` to retrieve the *i*th signal and compare its name to the desired name. However, `gi_object_info_get_signal()` returns an allocated object. If the names were not matching, the allocated object was simply dropped, and this resulted in a lot of unnecessary allocations compared to the desired number of allocations, which is one. To avoid much of the overhead pertaining to the creation of these allocated `GISignalInfo` objects, introduce a new function that inspects the signal blobs directly and returns an allocated `GISignalInfo` object just for the matching signal. The function is largely a copy-and-paste of `gi_base_info_find_vfunc()`, which does the same thing, only for virtual functions. See https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/504 |
||
---|---|---|
.. | ||
autoptr.c | ||
callable-info.c | ||
cmph-bdz.c | ||
dump.c | ||
function-info.c | ||
gthash.c | ||
meson.build | ||
object-info.c | ||
registered-type-info.c | ||
repository-search-paths.c | ||
repository.c | ||
struct-info.c | ||
test-common.c | ||
test-common.h | ||
throws.c | ||
union-info.c |