diff options
author | Simon Feltman <sfeltman@src.gnome.org> | 2014-02-27 17:10:19 -0800 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2015-10-10 17:41:24 -0400 |
commit | df21d1f362a810f48a23b7c121bf09ce398539c7 (patch) | |
tree | b5fd8d369bacdb4a9cea40f4a5421321a38c5007 /girepository/girmodule.c | |
parent | 0aa60a43c4c9679668e15dbf3ef7a39016525150 (diff) | |
download | gobject-introspection-df21d1f362a810f48a23b7c121bf09ce398539c7.tar.gz |
girepository: Use constant time calculation for sections after Object fields
Add "n_field_callbacks" to ObjectBlob which represents the number of object
fields which are also callbacks. This a allows a constant time computation
for accessing sections after fields. Track writing of this field by passing
an extra argument through the girnode writers recursive call structure. This
essentally reverts a portion of commit 7027bb256d0d1ab which added a linear
time computation for accessing sections after fields.
Update typelib validator to also ensure n_field_callbacks is properly set.
https://bugzilla.gnome.org/show_bug.cgi?id=700338
Diffstat (limited to 'girepository/girmodule.c')
-rw-r--r-- | girepository/girmodule.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/girepository/girmodule.c b/girepository/girmodule.c index e3897c34..66b33fa1 100644 --- a/girepository/girmodule.c +++ b/girepository/girmodule.c @@ -508,7 +508,7 @@ _g_ir_module_build_typelib (GIrModule *module) build.nodes_with_attributes = nodes_with_attributes; build.n_attributes = header->n_attributes; build.data = data; - _g_ir_node_build_typelib (node, NULL, &build, &offset, &offset2); + _g_ir_node_build_typelib (node, NULL, &build, &offset, &offset2, NULL); nodes_with_attributes = build.nodes_with_attributes; header->n_attributes = build.n_attributes; |