Philip Withnall
44ba3a5f0e
Merge branch 'param-spec-cleanup' into 'main'
...
gparamspecs: Remove redundant NULL checks
See merge request GNOME/glib!2688
2022-05-25 16:04:29 +00:00
Philip Withnall
f157c7d0d3
gparamspecs: Tidy up a precondition
...
Move the `if` into the precondition assertion, eliminating one line of
code and making the function preconditions clearer to static analysers.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2022-05-25 14:44:48 +01:00
Philip Withnall
96f4c2b095
gparamspecs: Remove redundant NULL checks
...
`g_param_spec_internal()` can never return `NULL`.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2022-05-25 14:44:48 +01:00
Philip Withnall
321fe5d0a4
Merge branch 'param-speedups2' into 'main'
...
param: Add a value_is_valid vfunc
See merge request GNOME/glib!2677
2022-05-25 13:41:12 +00:00
Matthias Clasen
c72de9dd99
gobject: Use value_is_valid
...
Avoid GValue transformation when we can, using
the new value_is_valid vfunc.
This is particularly useful for string properties,
where g_value_transform will make a copy of the string.
2022-05-25 14:25:18 +01:00
Matthias Clasen
b0d15068c4
gparamspec: Test individual paramspec is_valid() implementations
...
Test many of the paramspec implementations
at least a little bit.
2022-05-25 14:25:18 +01:00
Emmanuele Bassi
aff04305c4
Merge branch 'junit' into 'main'
...
gitlab-ci: remove meson-junit-report.py conversion
See merge request GNOME/glib!2686
2022-05-25 12:22:03 +00:00
Marc-André Lureau
c8ce3786d7
gitlab-ci: remove meson-junit-report.py conversion
...
meson supports JUnit XML format since 0.55.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2022-05-25 14:10:35 +02:00
Emin Tufan Çetin
587b1559ae
Update Turkish translation
2022-05-24 07:01:45 +00:00
Matthias Clasen
c8e14df6f7
Add another test for g_param_value_is_valid
...
Add a test that exercises the fallback
in g_param_value_is_valid.
2022-05-23 15:51:33 -04:00
Matthias Clasen
24925658f5
Add tests for g_param_value_is_valid
2022-05-23 15:51:33 -04:00
Matthias Clasen
dacfe8c88a
param: Add g_param_value_is_valid
...
This is wrapper for the new value_is_valid vfunc,
but it falls back to using value_validate to
obtain the same information.
2022-05-23 15:48:28 -04:00
Matthias Clasen
bdc8b025c5
param: Add a value_is_valid vfunc
...
In constrast to value_validate, this one does not
modify the passed-in value, so we can avoid the cost
of copying the GValue beforehand.
It is optional, but we set it for most of the
builtin pspec types.
2022-05-23 15:48:28 -04:00
Philip Withnall
3d3162c202
Merge branch 'finalize-speedups' into 'main'
...
Speed up object finalization
See merge request GNOME/glib!2680
2022-05-23 13:47:23 +00:00
Matthias Clasen
b7be0f95a8
gobject: Speed up finalization
...
Move the warning about finalize-during-construction
to debug-only.
2022-05-23 09:20:46 -04:00
Matthias Clasen
fa8c7c0da6
gobject: Use g_datalist_id_remove_multiple
...
This speeds up object finalization a little.
2022-05-23 09:19:45 -04:00
Matthias Clasen
0415bf9412
Add g_datalist_id_remove_multiple
...
This is more efficient than calling
g_datalist_id_remove() multiple times
in a row, since it only takes the locks
once.
Allow up to 16 keys to be removed in one go.
That is enough for the use we have in GObject,
and it avoids any danger of blowing the stack.
2022-05-23 09:19:45 -04:00
Matthias Clasen
1c4f6da1f7
Add a finalization performance test
2022-05-23 08:49:04 -04:00
Philip Withnall
7de0fcd628
Merge branch 'gobject-speedups2' into 'main'
...
Avoid g_type_peek_value_table
See merge request GNOME/glib!2674
2022-05-23 11:00:23 +00:00
Matthias Clasen
f2a085d8ea
Avoid g_type_peek_value_table
...
In several places we do paired calls of g_value_init
and g_value_unset, both of which peek the value table.
We can avoid half of that cost by remembering the value
table, instead of looking it up again.
This uses the new G_VALUE_COLLECT_INIT2 macro.
2022-05-23 06:35:55 -04:00
Matthias Clasen
aaef7f30b3
value: Add G_VALUE_COLLECT_INIT2
...
Add a variant of the G_VALUE_COLLECT_INIT() macro
that provides the GTypeValueTable to the caller.
2022-05-23 05:57:36 -04:00
Christian Kirbach
bc61ae7f83
Update German translation
...
(cherry picked from commit 92177755ed
)
2022-05-22 21:50:00 +00:00
Philip Withnall
f0f2c0107e
Merge branch 'update-closure-annotations-2' into 'main'
...
Rename user data parameters to user_data
See merge request GNOME/glib!2679
2022-05-22 13:37:37 +00:00
Charles Monzat
568eeda6c9
Update French translation
...
Cherry-pick of 4d6e03745e
from glib-2-72
2022-05-22 10:36:27 +02:00
TestingPlant
da7a31a052
Rename user data parameters to user_data
...
The user data parameters in callbacks need to be named user_data to
generate correct closure attributes in the introspection data. This
updates parameters missed in GNOME/glib!2633 .
2022-05-22 01:06:37 +00:00
Asier Sarasua Garmendia
b49f36f69f
Update Basque translation
2022-05-21 06:00:03 +00:00
Jordi Mas
0605602d1f
Update Catalan translation
2022-05-20 18:01:10 +02:00
Matthias Clasen
0a3a0894f9
Merge branch 'gtype-speedups' into 'main'
...
gtype: small optimization
See merge request GNOME/glib!2672
2022-05-20 13:43:17 +00:00
Philip Withnall
1f42078ace
Merge branch 'param-speedups' into 'main'
...
param: Avoid strcmps
See merge request GNOME/glib!2673
2022-05-20 13:15:39 +00:00
Matthias Clasen
e80d2bc1ca
Add a test for g_type_is_a
...
Check that the macro and function versions
of g_type_is_a work the same.
2022-05-20 09:08:09 -04:00
Matthias Clasen
22f51b87a2
gtype: Speed up g_type_is_a
...
As noticed by Christian Hergert: We can reduce
some overhead by checking for exact type
equality first. According to Christian, around
3% of g_type_is_a calls are exact equalities.
2022-05-20 09:08:09 -04:00
Matthias Clasen
55700948eb
param: Drop a pointless function
...
There is nothing to validate for boxed
parameters, so we don't need a validate
function for these.
2022-05-20 08:20:56 -04:00
Matthias Clasen
51215bf7b8
param: Avoid strchrs
...
Using prefixed property names like GtkWidget::visible
is very deprectated and basically never done. So avoid
paying the strchr cost before doing the first lookup.
2022-05-20 08:20:56 -04:00
Matthias Clasen
91dafa85fc
param: Avoid strcmps
...
Most of the time, we are dealing with static strings,
and we can compare them directly and avoid the strcmp.
Note that triggering this optimization requires
properties to be marked as G_PARAM_STATIC_NAME.
2022-05-20 08:20:56 -04:00
Philip Withnall
4173d44abe
Merge branch 'static-param-strings-docs' into 'main'
...
docs: Use G_PARAM_STATIC_STRINGS in examples and explain it more
See merge request GNOME/glib!2675
2022-05-20 12:20:26 +00:00
Philip Withnall
3c14b6846d
docs: Standardise property ID enums in examples
...
Drop the redundant `PROP_0` (which isn’t a real property) and initialise
the first member of the enum instead.
Add a typedef so that the enum type can be used in `switch` statements
in `get_property()` and `set_property()` vfuncs. This allows
`-Wswitch-enum` to be used to improve type safety.
The examples here don’t have `get_property()` or `set_property()`
vfuncs, but people might copy/paste the code to somewhere which does.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2022-05-20 12:57:36 +01:00
Philip Withnall
8f9c5090db
docs: Use G_PARAM_STATIC_STRINGS in examples and explain it more
...
Make it a bit clearer in the documentation that using
`G_PARAM_STATIC_STRINGS` everywhere is a good thing.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2022-05-20 12:57:36 +01:00
Matthias Clasen
c492f4aec2
gtype: small optimization
...
These warnings are never seen at runtime, so they
are evidently very unlikely. Tell the compiler that.
2022-05-20 07:20:19 -04:00
Philip Withnall
608eb52690
Merge branch 'nonchar-testcase2' into 'main'
...
Add another Unicode testcase
See merge request GNOME/glib!2671
2022-05-19 17:54:53 +00:00
Matthias Clasen
ad3c339ce4
Add another Unicode testcase
...
It turns out I typoed the character code when
I added the previous one.
See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2669
2022-05-19 12:39:33 -04:00
Daniel Mustieles
6b5b1cd314
Updated Spanish translation
2022-05-19 10:34:16 +02:00
Philip Withnall
0efd0e12c8
Merge branch 'nonchar-testcase' into 'main'
...
Add a Unicode testcase
See merge request GNOME/glib!2669
2022-05-18 23:57:02 +00:00
Matthias Clasen
240675d5f4
Add a Unicode testcase
...
This verifies that GString is not to blame for the bug
in https://github.com/harfbuzz/harfbuzz/issues/3590
2022-05-18 19:24:04 -04:00
Philip Withnall
fdc11d7cdb
Merge branch 'issue-2653' into 'main'
...
gio: fix gunixfdlist.h location after move to common gio
Closes #2653
See merge request GNOME/glib!2668
2022-05-18 22:32:08 +00:00
Marc-André Lureau
294b562f34
gio: fix gunixfdlist.h location after move to common gio
...
Fixes commit 5efb84f24a
("gio: add GUnixFDList on win32")
Fixes: https://gitlab.gnome.org/GNOME/glib/-/issues/2653
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2022-05-18 18:19:03 +02:00
Hugo Carvalho
b90bf35000
Update Portuguese translation
2022-05-18 15:06:54 +00:00
Philip Withnall
bfe349983a
Merge branch 'spawn-outparams' into 'main'
...
g_spawn_async_with_pipes_and_fds uses out parameters as inputs
See merge request GNOME/glib!2632
2022-05-18 14:40:23 +00:00
Philip Withnall
caf6d99fbe
Merge branch 'win32-fd' into 'main'
...
gio: various unix/fd-related enablement on win32
See merge request GNOME/glib!2656
2022-05-18 14:01:43 +00:00
Sebastian Dröge
0be6aa1b22
Merge branch 'reuse-fuzzing' into 'main'
...
fuzzing: Add copyright/licensing headers to fuzzing files
See merge request GNOME/glib!2666
2022-05-18 09:09:55 +00:00
Sebastian Dröge
2e1b0931fe
Merge branch 'reuse-more' into 'main'
...
glib/gio/tests: Add SPDX license headers automatically
See merge request GNOME/glib!2665
2022-05-18 09:09:24 +00:00