forked from AuroraMiddleware/gtk
2cbe094b91
GdkContentFormatsBuilder is currently not introspectable, as it does not have a GType. We can turn it into a boxed type, but we need to implement memory management for it. The current gdk_content_formats_builder_free() function returns a newly constructed value, so we cannot use it as a GBoxedFreeFunc; additionally copying a GdkContentFormatsBuilder contents would make it a bit odd, as you could get multiple identical GdkContentFormats out of the copies. A simple approach is to model the GdkContentFormatsBuilder API to follow the GBytes one: use reference counting for memory management, and have a function to release a reference, return a GdkContentFormats, and reset the GdkContentFormatsBuilder state. For language bindings, we can provide a get_formats() function that returns the GdkContentFormats instance and resets the builder instance, leaving the reference count untouched. For C convenience we can keep gdk_content_formats_builder_free(), and make it a wrapper around gdk_content_formats_builder_get_formats(), with the guarantee that it'll free the builder instance regardless of its current reference count. https://bugzilla.gnome.org/show_bug.cgi?id=793097 https://blogs.gnome.org/otte/2018/02/03/builders/ |
||
---|---|---|
.. | ||
reference | ||
tools | ||
CODING-STYLE | ||
developers.txt | ||
dnd_internals.txt | ||
focus_tracking.txt | ||
iconcache.txt | ||
RELEASE-HOWTO.md | ||
sizing-test.txt | ||
styles.txt | ||
text_widget_internals.txt | ||
tree-column-sizing.png | ||
tree-column-sizing.txt | ||
widget_geometry.txt | ||
widget_system.txt |