- 16 Jan, 2022 1 commit
-
-
Marcel Tiede authored
-
- 12 Jan, 2022 1 commit
-
-
If a <GType invalid> (that's the way it appears in python's debugger) is returned, `g_type_name` returns NULL. This function therefore returns NULL at this time as subsequent calls to `strlen( data->gtype_name)` segfault.
-
- 11 Jan, 2022 12 commits
-
-
We can use them in Gjs to verify whether a value is properly packed and unpacked to GValue.
-
It's the only basic type missing, better to have for consistency.
-
We want to be able to test whether it's possible to convert two different fundamental types through GValue, so add a function for this.
-
This can be used to test we don't do unexpected conversions between invalid types.
-
A fundamental type may or may not provide set and get value functions, the regress implementations always provide one, so define a new type with no such functions so that we can test this case in Gjs. To avoid repeating lots of duplicated code, we re-use the same functions of RegressTestFundamentalObject when possible, by using the same structure.
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
Newer versions of the GNU libc have started to warn if the result of the call is unused.
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
The hack that copies the doctemplates directory into the build directory has stopped working with newer versions of Meson; while it's possible to copy files, custom_target() cannot depend on a directory. Additionally, the dependency has always been broken. Instead, we enumerate the template files鈥攁fter all, it's not like they change a lot鈥攁nd then we list them as dependencies for the test targets. Fixes: #414
-
Emmanuele Bassi authored
We are going to use additional API that is only available since 0.57, but since 0.57 is a very old version, let's skip it.
-
Emmanuele Bassi authored
We can find the templates directory using the module file once installed, but when running uninstalled we need to have a way to specify where the templates can be found in the sources directory.
-
- 09 Jan, 2022 2 commits
-
-
Some functions are meant to exist for the entire duration of the process, and thus have no need for a notification function because one will never be called. Fixes: #49
-
-
- 07 Dec, 2021 2 commits
-
-
Emmanuele Bassi authored
Don't use a real function to describe optional/nullable differences, to avoid getting into the weeds when it comes to edge cases. Fixes: #211
-
Emmanuele Bassi authored
Remove mentions of Autotools: we only support Meson. Fixes: #327
-
- 27 Nov, 2021 1 commit
-
-
Rok Mandeljc authored
On macOS, @-prefixed shlib paths (@rpath, @executable_path, and @loader_path) need to be treated as absolute. Trying to combine them with a configured library path produces a mangled path that is unresolvable and may cause unintended side effects (such as loading the library from a fall-back location on macOS 12.0.1).
-
- 24 Nov, 2021 1 commit
-
-
Emmanuele Bassi authored
Libgirepository is not GLib, and it should not use GLIB_DEPRECATED, GLIB_DEPRECATED_FOR, and GLIB_UNAVAILABLE macros (as the GLib documentation clearly states). When using them, we don't get the proper macro expansion, so deprecated symbols suddenly disappear from our shared library.
-
- 23 Nov, 2021 9 commits
-
-
Legacy logic, except: - on linux with recent libffi - on macOS with AMD64 architectures
-
-
-
-
Deprecate the previous API as per discussion in !283.
-
Commit 6bab939b ("girffi.c: fix return value for g_callable_info_prepare_closure()") effectively changes semantics of return value from code pointer to data pinter (closure). `gjs` (and probably other software) relies on old (incorrect) semantics of g_callable_info_prepare_closure(): gjs#428 This change exposes the API that allows extracting directly callacble code pointer. `gjs` will have to adapt to the new API. Signed-off-by:
Sergei Trofimovich <slyfox@gentoo.org>
-
The initial failure was observed on `meld` against recently released `libffi-3.4-rc1`. There `meld` crashes as: ``` $ meld Segmentation fault (core dumped) $ gdb --args /usr/bin/python3.9 /usr/bin/meld (gdb) run ... Thread 1 "python3.9" received signal SIGSEGV, Segmentation fault. 0x00007fffe9ac1ae8 in g_callable_info_free_closure ( callable_info=0x555555d45990, closure=0x7fffe9e70c20) at ../gobject-introspection-1.68.0/girepository/girffi.c:428 428 g_free (wrapper->ffi_closure.cif->arg_types); (gdb) bt callable_info=0x555555d45990, closure=0x7fffe9e70c20) at ../gobject-introspection-1.68.0/girepository/girffi.c:428 data=0x555555d252d0) at ../pygobject-3.40.1/gi/pygi-closure.c:635 ... ``` The bug here is in type mismatch between expected return value of `g_callable_info_prepare_closure()` and actual value (executable code pointer): ```c ffi_closure * g_callable_info_prepare_closure(...) { gpointer exec_ptr; ... status = ffi_prep_closure_loc (&closure->ffi_closure, cif, callback, user_data, exec_ptr); return exec_ptr; } ``` Note: `exec_ptr` is a code pointer that could be directly executed by caller, like `((rt (*)(a1,a2))exec_ptr)(1,2);` It should never be wrapped into an `ffi_closure*`, which is normally called via `ffi_call(closure, ...)`. We see the problem when we try to free direct code pointer instead of `ffi_closure()` as starting from libffi-3.4 executable trampoline and `ffi_closure()` don't necessarily live in the same block: https://github.com/libffi/libffi/commit/9ba559217bea0803263a9a9a0bafcf9203606f5b Signed-off-by:
Sergei Trofimovich <slyfox@gentoo.org>
-
Emmanuele Bassi authored
-
Andy Holmes authored
GJS now maps GLib.ByteArray and GLib.Bytes to Uint8Array whenever possible. Change the string returned by docwriter for devdocs to reflect that.
-
- 07 Nov, 2021 4 commits
-
-
Emmanuele Bassi authored
The pcre subproject in GLib was renamed, so we need to fix the incantation that promotes the subproject in our own CI.
-
Emmanuele Bassi authored
Do not use the snapshot of the old developer.gnome.org website.
-
Emmanuele Bassi authored
Do not use the snapshot of the old developer.gnome.org website; we generate and publish the API reference ourselves.
-
Emmanuele Bassi authored
-
- 28 Oct, 2021 1 commit
-
-
Marc-Andr茅 Lureau authored
Those types should map by definition to guintptr and gintptr. They are fairly common in Rust cbindgen projects, which maps usize->uintptr_t for ex. Signed-off-by:
Marc-Andr茅 Lureau <marcandre.lureau@redhat.com>
-
- 17 Sep, 2021 3 commits
-
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
GLib 2.70 has just been released, so let's sync up the documentation and annotations. Fixes: #402
-
- 24 Aug, 2021 3 commits
-
-
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-