Commit Graph

25980 Commits

Author SHA1 Message Date
Xavier Claessens
90fcbc7dfc giomodules: g_io_module_* must always be exported
Those symbols are not used by GIO itself but by external modules.
2022-10-13 20:53:56 -04:00
Xavier Claessens
e5565f6635 Rename all visibility macros 2022-10-13 20:53:56 -04:00
Xavier Claessens
dcfc9f689e Fix symbol visibility macros on Windows
There is currently no `dllimport` attribute on any of our function,
which prevents MSVC to optimize function calls.

To fix that issue, we need to redeclare all our visibility macros for
each of our libraries, because when compiling e.g. GIO code, we need
dllimport in GLIB headers and dllexport in GIO headers. That means they
cannot use the same GLIB_AVAILABLE_* macro.

Since that's a lot of boilerplate to copy/paste after each version bump,
this MR generate all those macros using a python script.

Also simplify the meson side by using `gnu_symbol_visibility : 'hidden'`
keyword argument instead of passing the cflag manually.

This leaves only API index to add manually into glib-docs.xml when
bumping GLib version. That file cannot be generated because Meson does
not allow passing a buit file to gnome.gtkdoc()'s main_xml kwarg
unfortunately.
2022-10-13 20:53:56 -04:00
Xavier Claessens
d40459c280 Simplify G_HAVE_GNUC_VISIBILITY definition
There is no need of compiler checks, GNUC visibility should be used when
__GNUC__ >= 4 but not on Windows.
2022-10-13 20:52:49 -04:00
Philip Withnall
c16f524034 Merge branch 'static' into 'main'
tests: skip shared libs if default_library=static

See merge request GNOME/glib!2867
2022-10-12 16:19:02 +00:00
Alyssa Ross
1dc8d69edb tests: skip shared libs if default_library=static
Otherwise, the build will fail when the toolchain is static-only, even
with -Ddefault_library=static.  I talked to a Meson developer in their
IRC channel, who told me that the correct fix was to ensure that
shared_library is only used if default_library != static.
2022-10-12 16:49:39 +01:00
Philip Withnall
057a9e5773 Merge branch 'test-actions-parallel-fix' into 'main'
tests/desktop-app-info: Use unique temporary paths for action files

See merge request GNOME/glib!2885
2022-10-12 14:41:27 +00:00
Philip Withnall
350b92821c Merge branch 'wip/smcv/deprecated-construct-prop' into 'main'
gobject: Only emit deprecation warnings for user-specified properties

Closes #2748

See merge request GNOME/glib!2912
2022-10-12 13:56:46 +00:00
Philip Withnall
0cdbc530ca Merge branch 'regex-errors-msg-cleanups' into 'main'
gregex: Use pcre2 error messages if we don't provide a specific one

See merge request GNOME/glib!2913
2022-10-12 13:48:29 +00:00
Philip Withnall
5d504709ab Merge branch 'more-gio-thumbnail-sizes' into 'main'
glocalfileinfo: Add support for xx-large and x-large thumbnails

Closes #2767

See merge request GNOME/glib!2941
2022-10-12 13:43:07 +00:00
Philip Withnall
e90733a457 Merge branch 'atomic-older-cplusplus' into 'main'
gatomic: fix the atomic compare_and_exchange macros on older C++ standard versions

See merge request GNOME/glib!2864
2022-10-12 09:56:19 +00:00
Philip Withnall
90ae06a9f6 Merge branch 'null-param-handle-test' into 'main'
gobject/tests/param: Add unit test for handling invalid NULL param spec

See merge request GNOME/glib!2939
2022-10-11 20:06:27 +00:00
Philip Withnall
61ef7a7ec2 Merge branch 'strugee-main-patch-02389' into 'main'
Fix style warning in gvariant.c

See merge request GNOME/glib!2933
2022-10-11 19:50:10 +00:00
Philip Withnall
41d1cd02a0 Merge branch 'ebassi/static-docs' into 'main'
Build API docs only with shared libraries

See merge request GNOME/glib!2896
2022-10-11 19:31:31 +00:00
Marco Trevisan (Treviño)
e7a68531b3 glocalfileinfo: Add support for xx-large and x-large thumbnails
Co-Authored-by: António Fernandes <antoniof@gnome.org>

Closes: #2767
2022-10-11 20:58:58 +02:00
Marco Trevisan (Treviño)
9bb1410c54 gio/tests: Add file-thumbnail tests
Check if thumbnails are created in the path we expect and that we can
retrieve their information, but also that we try to get the biggest size
available when multiple are available.
2022-10-11 20:58:58 +02:00
Matthias Clasen
db1aadaa5e Merge branch 'str-equal-only' into 'main'
g_str_equal: Provide macro for optimization

Closes #2775

See merge request GNOME/glib!2940
2022-10-11 18:19:25 +00:00
Xavier Claessens
6e341750df g_str_equal: Provide macro for optimization
g_str_equal() is a nicer API than strcmp()==0, and less error prone.
However, forcing a function call prevents compiler from doing
optimizations. In the case it is not used as callback to GHashTable,
provide a macro that calls strcmp directly. This also has the side
effect that it forces arguments to be `const char *` instead of
`gconstpointer` in the case it is not used as callback, which adds type
safety.

Fixes: #2775
2022-10-11 10:55:56 -04:00
Marco Trevisan
cf4d8a3bdc Merge branch 'osx-declaration-mixes-fix' into 'main'
gosxcontenttype: Do not mix declarations with code

Closes #2759

See merge request GNOME/glib!2909
2022-10-11 13:24:57 +00:00
Marco Trevisan
10e3715bc1 Merge branch 'utimensat2' into 'main'
glocalfileinfo: In set_mtime_atime(), don't use utimensat() if it's not available

See merge request GNOME/glib!2911
2022-10-11 13:11:07 +00:00
Marco Trevisan (Treviño)
60587d5965 tests/file: Include config.h so tests checking HAVE_* definitions are ran
We have tests depending on HAVE_UTIMES and HAVE_UTIMENSAT that were
currently not compiled because these were always undefined
2022-10-11 14:37:12 +02:00
Marco Trevisan (Treviño)
b1d4b4bb3b glocalfileinfo: Avoid getting unused type values 2022-10-11 14:24:17 +02:00
Jared Wahlstrand
15cb123c82 glocalfileinfo: don't call both utimes and utimensat
also split us precision and ns precision code to make this cleaner
2022-10-11 14:10:28 +02:00
Marco Trevisan
4231426abe Merge branch 'optimize_g_double_hash' into 'main'
Optimize the implementation of `g_double_hash`

See merge request GNOME/glib!2924
2022-10-11 11:26:41 +00:00
星外之神
e02db8ea22 Add tests for hash collisions in simple cases 2022-10-11 13:12:20 +02:00
wszqkzqk
c1af4b2b88 Optional optimization for g_int64_hash 2022-10-11 13:12:20 +02:00
wszqkzqk
dd1f4f709e Optimize g_double_hash implementation 2022-10-11 13:12:20 +02:00
Marco Trevisan (Treviño)
80cf66034b gobject/tests/param: Add unit test for handling invalid NULL param spec
This was fixed by !2921 but there was no test with the MR, so add one.
2022-10-10 21:01:10 +02:00
Marco Trevisan
db259b5925 Merge branch 'atime' into 'main'
tests: skip g-file-info test if atime unsupported

See merge request GNOME/glib!2866
2022-10-10 15:32:06 +00:00
Marco Trevisan
cc02e8720d Merge branch 'unicode-15' into 'main'
Unicode 15 support

Closes #2735

See merge request GNOME/glib!2877
2022-10-10 14:20:17 +00:00
Marco Trevisan
8f2711bf72 Merge branch 'log-field-nul-termination-2' into 'main'
Update version in the docs to 2.74.1 for the fixed handling of...

See merge request GNOME/glib!2916
2022-10-10 12:33:57 +00:00
Philip Withnall
1d2ea6518c Merge branch 'fix-unix-streams-error-leak' into 'main'
tests/unix-streams: Free the cancelled error on cancelled cancellable

See merge request GNOME/glib!2892
2022-10-10 12:02:56 +00:00
Philip Withnall
b321ba1d1f Merge branch 'ignore-dirs-leaks+valgrind-ci' into 'main'
glib.supp: Ignore gutils leaks for user and system dirs

Closes #333

See merge request GNOME/glib!2897
2022-10-10 12:01:49 +00:00
Sebastian Dröge
aaf1bc0331 Merge branch 'fix-localfileinfo' into 'main'
gio: properly guard use of utimensat()

Closes #2766

See merge request GNOME/glib!2914
2022-10-10 06:57:48 +00:00
Sebastian Dröge
2f284193a7 Merge branch 'date-time-new-now' into 'main'
gdatetime: add NULL guard in g_date_time_new_now()

See merge request GNOME/glib!2938
2022-10-10 06:52:56 +00:00
Peter Bloomfield
574a2ecfa9 gdatetime: add NULL guard in g_date_time_new_now()
Add a missing g_return_() check in g_date_time_new_now().
A clear warning is better than a NULL pointer dereference.
2022-10-09 19:39:58 -04:00
Yaron Shahrabani
2b8b866bae Update Hebrew translation 2022-10-06 13:23:20 +00:00
Sebastian Dröge
07e3ec6e04 Merge branch 'aleksander/gdatetime-return-if-fail' into 'main'
gdatetime: add missing g_return_() check in g_date_time_format_iso8601

See merge request GNOME/glib!2931
2022-10-05 07:09:47 +00:00
AJ Jordan
e052dddd1d Fix style warning in gvariant.c 2022-10-05 06:47:26 +00:00
Aleksander Morgado
737ca7de91 gdatetime: add missing g_return_() check in g_date_time_format_iso8601
A clear warning is better than a NULL pointer dereference.

Signed-off-by: Aleksander Morgado <aleksandermj@chromium.org>
2022-10-04 21:37:58 +00:00
Quentin PAGÈS
f5a51089d8 Update Occitan translation 2022-10-04 17:40:02 +00:00
Fabio Tomat
e3c56a2f65 Update Friulian translation 2022-10-03 09:09:10 +00:00
Xavier Claessens
2843eef4a4 Merge branch 'gbsneto/python-find' into 'main'
build: Let Meson figure out Python installation

See merge request GNOME/glib!2928
2022-09-30 12:57:58 +00:00
Georges Basile Stavracas Neto
255fa26b96 build: Let Meson figure out Python installation
Commit 4a4d9eb662 initially switched Meson to find the python
program using find_program('python3'). Sadly that caused a
regression, since in some cases with MSVC it would fallback to
'meson.exe runpython', which is undesired.

However, that particular code was reverted back to an also
undesired lookup method, find_installation('python3'). This
way of finding python also breaks on Windows + MSVC, in particular
when setting it up as follows:

```
winget install python
winget install meson
```

This fails building GLib with:

> python3 not found

Fix that by not passing any argument to find_installation(), which
lets Meson figure it all out by itself.
2022-09-29 17:18:10 -03:00
Nart Tlisha
274761d68f Update Abkhazian translation 2022-09-29 15:32:11 +00:00
Fabio Tomat
ce48bf1abd Update Friulian translation 2022-09-28 08:38:58 +00:00
Marco Trevisan
df8403eec4 Merge branch 're-js-compat' into 'main'
gregex: Allow G_REGEX_JAVASCRIPT_COMPAT in compile mask

See merge request GNOME/glib!2920
2022-09-27 14:29:59 +00:00
Guido Günther
664ee9ca6a gregex: Drop explanation G_REGEX_JAVASCRIPT_COMPAT
It's not supported as of glib 2.74
2022-09-27 13:52:05 +02:00
Guido Günther
a164b49532 gregex: Allow G_REGEX_JAVASCRIPT_COMPAT in compile mask for g_regex_new
The flag is still ignored but this way we properly deprecate
at compile time without raising an unexpected criticals at runtime:

   g_regex_new: assertion '(compile_options & ~G_REGEX_COMPILE_MASK) == 0' failed

and then failing to create the regex completely.

Fixes 8d5a44dc8 ("replace pcre1 with pcre2")
2022-09-27 13:52:05 +02:00
Emmanuele Bassi
f0dd96c287 Merge branch 'ebassi/issue-2770' into 'main'
Empty values are not valid GParamSpec

Closes #2770

See merge request GNOME/glib!2921
2022-09-25 19:41:00 +00:00