GLib merge requestshttps://gitlab.gnome.org/GNOME/glib/-/merge_requests2022-02-15T15:28:52Zhttps://gitlab.gnome.org/GNOME/glib/-/merge_requests/2489Fix the DocBook codegen2022-02-15T15:28:52ZEmmanuele BassiFix the DocBook codegenFixes: #2601Fixes: #26012.71.2Emmanuele BassiEmmanuele Bassihttps://gitlab.gnome.org/GNOME/glib/-/merge_requests/2487gconstructor.h: Visual Studio: Only include gslist.h if needed2022-02-14T12:27:20ZChun-wei Fangconstructor.h: Visual Studio: Only include gslist.h if neededHi,
From the commit message:
<i>We only want to include gslist.h here if it was not already included via including glib.h, as:</i>
* <i>gslist.h should normally be included via glib.h if used outside of GLib itself.</i>
* <i>This brok...Hi,
From the commit message:
<i>We only want to include gslist.h here if it was not already included via including glib.h, as:</i>
* <i>gslist.h should normally be included via glib.h if used outside of GLib itself.</i>
* <i>This broke Visual Studio builds that use GResources (via glib-compile-resources.exe) as that would cause the generated code to include gslist.h directly, which is therefore disallowed.</i>
This will fix issues building items that depends on GResources that use `glib-compile-resources.exe` with Visual Studio, such as [1].
[1]: https://gitlab.gnome.org/GNOME/libadwaita/-/issues/418
Fixes: https://gitlab.gnome.org/GNOME/libadwaita/-/issues/418
With blessings, thank you!2.71.2https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2486gdebugcontroller: Add documentation and tests2022-02-18T00:58:36ZPhilip Withnallgdebugcontroller: Add documentation and testsSee the commit messages. This drops one of the APIs added earlier, so needs to be reviewed and merged before 2.71.2 (the API freeze).
Fixes: #1190See the commit messages. This drops one of the APIs added earlier, so needs to be reviewed and merged before 2.71.2 (the API freeze).
Fixes: #11902.71.2Philip WithnallPhilip Withnallhttps://gitlab.gnome.org/GNOME/glib/-/merge_requests/2465gi: expose some files as variable for gobject-introspection2022-04-05T17:29:18ZAndoni Moralesgi: expose some files as variable for gobject-introspectionsee: https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/313see: https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/3132.71.2https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2421Add aligned memory allocators2022-02-11T15:04:25ZEmmanuele BassiAdd aligned memory allocatorsWhen working with storage (especially GInputStream or GOutputStream) it
is preferred to use page-aligned buffers so that the operating system
can do page-mapping tricks as the operation passes through the kernel.
Another use case is all...When working with storage (especially GInputStream or GOutputStream) it
is preferred to use page-aligned buffers so that the operating system
can do page-mapping tricks as the operation passes through the kernel.
Another use case is allocating memory used for vectorised operations,
which must be aligned to specific boundaries.
POSIX and Windows, as well as the C11 specification, provide this kind
of allocator functions, and GLib already makes use of it inside GSlice.
It would be convenient to have a public, portable wrapper that other
projects can use.
Fixes: #25742.71.2Emmanuele BassiEmmanuele Bassihttps://gitlab.gnome.org/GNOME/glib/-/merge_requests/2330gdebugcontroller: Add debug controller API and D-Bus implementation2022-02-10T19:27:09ZPhilip Withnallgdebugcontroller: Add debug controller API and D-Bus implementationThis is intended to provide a uniform interface for controlling whether
the debug output from an application (or service) is emitted, typically
to journald, but actually to wherever the application chooses to output
it.
The main impleme...This is intended to provide a uniform interface for controlling whether
the debug output from an application (or service) is emitted, typically
to journald, but actually to wherever the application chooses to output
it.
The main implementation of `GDebugController` is `GDebugControllerDBus`,
which is intended to be used on Linux. Other implementations may be
added in future for other platforms, or larger applications may want to
provide their own implementation which integrates with their ecosystem.
The `GDebugControllerDBus` implementation exposes a D-Bus interface at
`/org/freedesktop/Debugging` with a method to enable or disable debug
output at runtime.
This could be used by external harnesses, such as GNOME Builder or
systemd, to give a uniform way to get debug output from an application.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Fixes: #1190
Closes #11902.71.2Philip WithnallPhilip Withnallhttps://gitlab.gnome.org/GNOME/glib/-/merge_requests/2250Do not generate C resources for all possible toolchains2023-07-09T18:02:16ZEmmanuele BassiDo not generate C resources for all possible toolchainsThe resources data is generated for both GCC and MSVC toolchains, even
though we know beforehand which toolchain we're going to compile it for.
By dropping the data duplication we make the generated resources file
faster to compile, espe...The resources data is generated for both GCC and MSVC toolchains, even
though we know beforehand which toolchain we're going to compile it for.
By dropping the data duplication we make the generated resources file
faster to compile, especially when dealing with large embedded data,
instead of relying on the C pre-processor to walk the whole file and
discard the branch we're not using.
Fixes: #24922.71.2Emmanuele BassiEmmanuele Bassihttps://gitlab.gnome.org/GNOME/glib/-/merge_requests/2235Add GBindingGroup and GSignalGroup2022-02-02T08:52:56ZChristian HergertAdd GBindingGroup and GSignalGroupThis adds both GBindingGroup and GSignalGroup for the GLib 2.72 release.
Both have been used for about 7 years across a range of GNOME products and so it is no surprise that they can land upstream here instead.This adds both GBindingGroup and GSignalGroup for the GLib 2.72 release.
Both have been used for about 7 years across a range of GNOME products and so it is no surprise that they can land upstream here instead.2.71.2