Commit Graph

27871 Commits

Author SHA1 Message Date
Philip Withnall
86fdb4c7bf Merge branch 'ebassi/issue-3130' into 'main'
Check for empty property name in GPropertyAction

Closes #3130

See merge request GNOME/glib!3599
2023-10-02 17:09:55 +00:00
Arjan Molenaar
e9f0259e5d tests: Add a test for initialising GPropertyAction with no name
Helps: #3130
2023-10-02 17:17:24 +01:00
Emmanuele Bassi
3a2af81ced Check for empty property name in GPropertyAction
Make sure to fail consistently in case people created a GPropertyAction
with g_object_new() without passing a property name.

Bindings that construct objects with g_object_new() have no idea if a
property is mandatory.

See: #3130
2023-10-02 17:17:24 +01:00
Philip Withnall
525508be0d gpropertyaction: Split dispose/finalize
This avoids a critical warning from trying to disconnect a signal
handler from a `NULL` object if `paction->object` is `NULL` for whatever
reason (see: the following commit).

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Helps: #3130
2023-10-02 17:17:24 +01:00
Philip Withnall
bda8726437 Merge branch 'wip/abono/ifdef-ptrace-o-exitkill' into 'main'
tests/gsubprocess: Don't rely on PTRACE_O_EXITKILL presence

Closes #3128

See merge request GNOME/glib!3588
2023-10-02 14:38:25 +00:00
Philip Withnall
5bc6c2035a gio: Rename GTK_USE_PORTAL to GIO_USE_PORTALS
The `GTK_USE_PORTAL` environment variable has started to be misused by
users, which is causing deployment issues (such as portal services
themselves ending up being forced to use portals, which is never going
to work).

Try and sidestep users’ broken configurations by renaming the
environment variable, and also separating it from the old GTK
environment variable, since the GLib one affects a lot more processes.
This environment variable is meant to be used for
debugging and development, and never in production.

GTK already renamed their environment variable in
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4829, so keeping the
`GTK_USE_PORTAL` name in GLib doesn’t make sense anyway.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #3107
2023-10-02 15:00:23 +01:00
Xavier Claessens
4700e89f53 Merge branch 'pcre2' into 'main'
meson: Fix Windows build with PCRE2 as sibling subproject

See merge request GNOME/glib!3601
2023-10-02 10:52:38 +00:00
Benjamin Gilbert
34e457e9f1 meson: Fix Windows build with PCRE2 as sibling subproject
If glib and PCRE2 are both built for Windows as subprojects of a parent
project, cc.links() will fail because PCRE2 hasn't been built yet when
glib is being configured:

    subprojects/glib-2.78.0/meson.build:2109:20: ERROR: Dependencies must be external dependencies

609d58beea changed the detection logic to avoid cc.links() in this
case, but dd5683ce64 broke it again.  PCRE2 detection could use a
broader cleanup, but for now, make the minimum change to fix this case.

use_pcre2_static_flag ends up set to false, matching the behavior of
609d58beea.

Fixes: dd5683ce64 ("meson: Allow fallback & static build of pcre subproject")
2023-10-01 23:06:49 -05:00
Emmanuele Bassi
722dba7ccf Merge branch 'ebassi/fundamental-max-value' into 'main'
Add value annotation to G_TYPE_FUNDAMENTAL_MAX

See merge request GNOME/glib!3596
2023-10-02 01:12:11 +00:00
Emmanuele Bassi
70585f9a48 Add value annotation to G_TYPE_FUNDAMENTAL_MAX
The introspection parser isn't good enough to expand the shift symbol,
which means G_TYPE_FUNDAMENTAL_MAX is evaluated as (255 << 0).

We can use the `(value)` annotation to force the symbol value in the
introspection data.

See: GNOME/gobject-introspection#473
2023-10-02 01:29:50 +01:00
Emmanuele Bassi
7ed14113e7 Merge branch 'fix-gutils-user-database-test-on-macos' into 'main'
Fix gutils-user-database test on macOS

See merge request GNOME/glib!3594
2023-10-02 00:23:34 +00:00
Sabri Ünal
6f9abcdeef Update Turkish translation 2023-10-01 18:29:58 +00:00
Luca Bacci
991cb9ef8c tests/gutils-user-database: Fix test on macOS
Use DYLD interposing on macOS
2023-09-27 16:19:44 +02:00
Luca Bacci
91b41f5234 tests/gutils-user-database: do not hardcode library name
Use build_tgt.full_path() and import('fs').name()
2023-09-26 12:10:47 +02:00
Hannes Müller
3cb79ee261 gtestutils.h: Fix warning with -Wsign-conversion caused by g_assert_cmpint
With gcc and clang using -Wsign-conversion a related warning is generated
if code using glib 2.78.0 contains function g_assert_cmpint().

Warning is fixed by adding related casts. Related tests have been also
updated and will be also compiled with -Wsign-conversion to detect
related problems in future.
2023-09-22 08:57:40 +02:00
Kristjan SCHMIDT
41c9c51080 Update Esperanto translation 2023-09-19 21:57:32 +00:00
Alessandro Bono
272ec5dbca tests/gsubprocess: Don't rely on PTRACE_O_EXITKILL presence
The PTRACE_O_EXITKILL symbol was introduced in glibc 2.23. CentOS7
has glibc 2.17. Use the symbol only if it is defined.
2023-09-19 12:37:23 +02:00
Rūdolfs Mazurs
5a67a8f6c5 Update Latvian translation 2023-09-18 14:10:08 +00:00
Rafael Fontenelle
af912ba017 Update Brazilian Portuguese translation
(cherry picked from commit 13bc82d016)
2023-09-18 01:28:01 +00:00
Daniel Rusek
9e36642bbb Update Czech translation 2023-09-17 12:58:56 +00:00
Artur S0
508dba1ed8 Update Russian translation 2023-09-16 09:29:27 +00:00
Boyuan Yang
fb7a5eee97 Update Chinese (China) translation 2023-09-15 08:28:12 +00:00
Pavel Sobolev
cabc494073
Make sure the GTask is freed on a graceful disconnect
This fixes the memory leak in the case the connection has been
successfully closed by the peer.
2023-09-14 15:42:24 +03:00
Philip Withnall
56daac02d1 gthread: Fix optional/nullable annotations for g_once_init_*()
The pointer argument must not be `NULL` (though it can point to a
location which is zero/null-valued), so this should be `(not optional)`
not `(not nullable)`.

Spotted in !3577.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2023-09-13 14:18:55 +01:00
Luca Bacci
13c5256fd7 gthread-win32: Fix size argument passed to RaiseException
https://learn.microsoft.com/en-us/visualstudio/debugger/how-to-set-a-thread-name-in-native-code?view=vs-2022#set-a-thread-name-by-throwing-an-exception
2023-09-13 14:04:26 +02:00
Luca Bacci
19d06340cf gthread-win32: Check for specific exception code
https://learn.microsoft.com/en-us/cpp/code-quality/c6320?view=msvc-170
2023-09-13 14:04:26 +02:00
Luca Bacci
f4b53cacbf gthread-win32: No need to raise thread name exception if the debugger is not present
As outlined in [1], raising the exception without a debugger attached
isn't of any use, as the thread name won't be stored anywhere.
The system doesn't trap such exception, only debuggers.

This also fixes a TOCTTOU issue between the IsDebuggerPresent() check
and the RaiseException() call.

References:
 [1] - https://learn.microsoft.com/en-us/visualstudio/debugger/how-to-set-a-thread-name-in-native-code?view=vs-2022#set-a-thread-name-by-throwing-an-exception
2023-09-13 14:04:26 +02:00
Luca Bacci
fb3f1733c3 gthread-win32: Print critical if we cannot register fallback handler for the thread name exception 2023-09-13 14:04:26 +02:00
Luca Bacci
d60ca9aa38 gthread-win32: Register fallback handler for thread name as last
Many ASAN implementations install Vectored Exception Handlers that
must be the first in the sequence. As we don't really care about
ordering, let's place our handler as last.

References:
 - https://developercommunity.visualstudio.com/t/asan-problems-when-manual-exception-handling/1242524
 - https://source.chromium.org/chromium/chromium/src/+/main:components/browser_watcher/extended_crash_reporting.cc;l=150;drc=4ced8912
2023-09-13 14:04:11 +02:00
Philip Withnall
f51f40c440 Merge branch 'find-test-program-freebsd' into 'main'
Fix test_find_program on FreeBSD

See merge request GNOME/glib!3580
2023-09-13 11:21:07 +00:00
Philip Withnall
1f9aafe5d5 Merge branch 'cheri-int-cast-warning-fix' into 'main'
Fixes for integer cast warnings when targeting CHERI

See merge request GNOME/glib!3579
2023-09-13 11:19:30 +00:00
Milo Casagrande
771b4ed865 Update Italian translation 2023-09-13 07:25:53 +00:00
Alex Richardson
25ae9f59e8 Fix test_find_program on FreeBSD
On FreeBSD /home is generally a symlink to /usr/home, so the relative
resolves to /usr/bin instead of /bin and `sh` can only be found in /bin
on FreeBSD. Fix this by resolving symlinks in the CWD first.
2023-09-12 21:51:15 -07:00
Alexandre Franke
d1ba2b421f Update French translation 2023-09-12 20:11:16 +00:00
Alex Richardson
2787e59a77 CHERI: silence two pedantic warnings
When building for CHERI with additional warning flags, implicitly
converting uintptr_t to an integer type that can't store a pointer
results in a compiler warnings. Silence two of these by adding
explicit casts.
2023-09-12 10:23:20 -07:00
Alex Richardson
403f7a10dc GSIZE_TO_POINTER(): appease stricter compilers
Some compilers (e.g. CHERI LLVM) warn when casting a non-intptr_t integer
type to a pointer. The GSIZE_TO_POINTER() macro thus triggers warnings
which can be silence by casting to guintptr before gpointer.

NB: This macro must not be used to create valid pointers from a integer.
2023-09-12 10:23:20 -07:00
Philip Withnall
8af4f494b1 Merge branch 'avoid-temporarily-oob-pointer' into 'main'
guniprop.c: Avoid creating (temporarily) out-of-bounds pointers

See merge request GNOME/glib!3576
2023-09-12 10:36:15 +00:00
Philip Withnall
0398518d5e Merge branch '3105-threaded-resolver-refs' into 'main'
gthreadedresolver: Fix race between source callbacks and finalize

Closes #3105

See merge request GNOME/glib!3575
2023-09-12 10:25:13 +00:00
Alex Richardson
ed6cc1ddb2 guniprop.c: Avoid creating (temporarily) out-of-bounds pointers
This is detected by UBSan on CHERI systems (e.g. Arm Morello) and could
result in non-derefenceable pointers when compiled without optimizations.
2023-09-11 22:50:05 -07:00
Philip Withnall
82c764ce2e gthreadedresolver: Fix race between source callbacks and finalize
I had thought that because `g_source_destroy()` was called for the two
sources (cancel and timeout) in the `GTask` finalize function for a
threaded resolver operation, that it would be fine to use a plain
pointer in the source callbacks to point to the `GTask`.

That turns out to not be true: because the source callbacks are executed
in the GLib worker thread, and the `GTask` can be finalized in another
thread, it’s possible for a source callback (e.g. `cancelled_cb()`) to
be scheduled in the worker thread, then for the `GTask` to be finalized,
and then the source callback to continue execution and find itself
doing a use-after-free.

Fix that by using a weak ref to the `GTask` in the source callbacks,
rather than a plain pointer.

Signed-off-by: Philip Withnall <philip@tecnocode.co.uk>

Fixes: #3105
2023-09-11 16:02:15 +01:00
Matej Urbančič
cfab7d1d48 Update Slovenian translation 2023-09-11 13:47:39 +00:00
badcel
784b8f5cc9
Update GOptionContext annotations 2023-09-11 13:42:10 +02:00
badcel
7ae41b9427
Update GDir annotations 2023-09-11 13:38:26 +02:00
badcel
01b1570bb5
Update GAsyncQueue annotations 2023-09-11 13:38:03 +02:00
badcel
f5860b0f4a
Update annotations for GHmac 2023-09-11 13:31:39 +02:00
badcel
5546757b2f
Update GStringChunk annotations 2023-09-11 12:52:39 +02:00
badcel
bd7bd87c8e
Update GTimer annotations 2023-09-11 11:55:45 +02:00
badcel
47c7eda5e0
Update GRand annotations 2023-09-11 11:33:47 +02:00
Daniel Mustieles
a4a356e137 Updated Spanish translation 2023-09-11 10:16:42 +02:00
Jordi Mas i Hernandez
28e6e27acf Update Catalan translation 2023-09-11 06:51:39 +00:00