Commit Graph

23839 Commits

Author SHA1 Message Date
Marco Trevisan (Treviño)
a7262d6357 gobject: Cleanup weak locations data as part of dispose
Weak locations were not fully cleaned on run_dispose() and after dispose
vfunc was called, so ensure that this is the case.

Fixes: #865
2021-09-17 12:28:01 +02:00
Marco Trevisan (Treviño)
e861f60dcb gobject: Cleanup weak locations when the last one has been removed
As per the previous change, an object that had weak locations set may
need to lock again the weak locations mutex during qdata cleanup, but
we can avoid this when we know we're removing the last location, by
removing the qdata entry and freeing the data.

In case a new location is needed for the same object, new data will be
added.

However, by doing this the weak locations during dispose may be
invalidated once the weak locations lock is passed, so check again if
this is the case while removing them.
2021-09-17 12:27:59 +02:00
Marco Trevisan (Treviño)
ea68b22135 gobject: Cleanup GWeakRef locations on object finalization
It can happen that a GWeakRef is added to an object while it's disposing
(or even during finalizing) and this may happen in a thread that (weak)
references an object while the disposal isn't completed yet or when
using toggle references and switching to GWeakRef on notification (as
the API suggests).

In such scenario the weak locations are not cleaned up when the object
is finalized, and will point to a free'd area.

So, during finalization and when we're sure that the object will be
destroyed for sure, check again if there are new weak locations and
unset them if any as part of the qdata destruction.
Do this adding a new utility function so that we can avoid duplicating
code to free the weak locations.

Added various tests simulating this case.

Fixes: #2390
2021-09-17 12:21:23 +02:00
Philip Withnall
e3e5a06d2b Merge branch 'wip/lantw/ci-Replace-FreeBSD-11-with-FreeBSD-13' into 'main'
ci: Replace FreeBSD 11 with FreeBSD 13

See merge request GNOME/glib!2248
2021-09-15 11:43:45 +00:00
Ting-Wei Lan
e99597414c ci: Replace FreeBSD 11 with FreeBSD 13
FreeBSD 11 will go EOL in a month, and FreeBSD 13 was released several
months ago. Remove the FreeBSD 11 job and add a FreeBSD 13 job.
2021-09-13 12:25:38 +08:00
Piotr Drąg
f763f2b7cb Update Polish translation 2021-09-11 13:17:25 +00:00
Alan Mortensen
22a43dd22d Updated Danish translation 2021-09-11 14:40:54 +02:00
Balázs Úr
aee274986a Update Hungarian translation 2021-09-10 20:19:11 +00:00
Goran Vidović
1436c15909 Update Croatian translation 2021-09-10 17:24:00 +00:00
Philipp Kiemle
205697dd25 Update German translation 2021-09-09 20:18:49 +00:00
Emin Tufan Çetin
f654e4f3bc Update Turkish translation 2021-09-09 18:58:19 +00:00
Charles Monzat
9f102c22d4 Update French translation 2021-09-09 06:29:37 +00:00
Anders Jonsson
44666880ad Update Swedish translation 2021-09-07 17:43:09 +00:00
Philip Withnall
73c217dec2 2.69.3
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-09-07 12:24:07 +01:00
Philip Withnall
573c629bec Merge branch 'readme-release-signing' into 'main'
docs: Add a note about git-evtag to SECURITY.md

See merge request GNOME/glib!2110
2021-09-07 11:21:15 +00:00
Philip Withnall
b8160ce18b docs: Add a note about git-evtag to SECURITY.md 2021-09-07 11:21:12 +00:00
Emmanuele Bassi
21a27f4eb7 Merge branch '2425-settings-schema-range-check' into 'main'
gsettingsschema: Fix docs for g_settings_schema_key_range_check()

Closes #2425

See merge request GNOME/glib!2160
2021-09-07 10:59:09 +00:00
Philip Withnall
c9b1e6654e Merge branch 'gcc-suppress-deprecated-2' into 'main'
Fix false deprecation warnings on old GCC/MSVC

Closes #2472

See merge request GNOME/glib!2234
2021-09-07 10:45:06 +00:00
Evan Miller
508352339a Fix false deprecation warnings on old GCC/MSVC
Closes #2472
2021-09-07 11:21:20 +01:00
Philip Withnall
b52de547cb Merge branch '2481-power-profile-default-value' into 'main'
gpowerprofilemonitorportal: Set property value by default

Closes #2481

See merge request GNOME/glib!2241
2021-09-07 10:16:40 +00:00
Philip Withnall
4f62fdfd29 tests: Fix subsequent tests after first power-profile test failure
If the first power-profile installed test fails (for example, because
xdg-desktop-portal isn’t available), correctly tear down the dbusmock
object, or it will cause setUp() to fail when the next test in the suite
is run.

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

Helps: #2481
2021-09-06 18:57:06 +01:00
Philip Withnall
d051ef1611 gpowerprofilemonitorportal: Set property value by default
When first creating the monitor, correctly set its property value to the
value from the portal, rather than waiting for the portal value to
change to set it.

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

Fixes: #2481
2021-09-06 18:56:12 +01:00
Philip Withnall
a37b9d8652 gpowerprofilemonitordbus: Fix a crash if no property is cached
It’s not always guaranteed that a property is cached, so handle the case
when it isn’t.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-09-06 18:55:04 +01:00
Philip Withnall
28ad07373a gpowerprofilemonitordbus: Fix a memory leak
get_cached_property() returns a new reference.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-09-06 18:54:06 +01:00
Philip Withnall
e99ee3588a Merge branch 'revert-cd93c350' into 'main'
Revert "Merge branch 'fix/gclosure-invoke-type-annotation' into 'main'"

Closes #2477

See merge request GNOME/glib!2237
2021-09-06 15:23:54 +00:00
Philip Withnall
5b90f9d088 Merge branch 'wip/hadess/fix-assert-eventually' into 'main'
gio: Fix conditions in memory-monitor test

See merge request GNOME/glib!2240
2021-09-06 13:07:19 +00:00
Bastien Nocera
e1819c42fb gio: Fix conditions in memory-monitor test
We were lucky that this worked in some cases (the test is racy), but we
should actually run the condition check each loop, rather than when the
function is called.

Spotted by Martin Pitt:
96a8c02d24 (r54773831)
2021-09-06 14:46:15 +02:00
Philip Withnall
93ec31e973 Merge branch 'wip/lantw/ci-Use-C.UTF-8-locale-on-FreeBSD-12' into 'main'
ci: Use C.UTF-8 locale on FreeBSD 12

See merge request GNOME/glib!2238
2021-09-06 11:57:56 +00:00
Philip Withnall
f26555b485 Merge branch 'DarkTrick-main-patch-43422' into 'main'
doc: Explicitly said, that no null term. is needed

See merge request GNOME/glib!2219
2021-09-06 11:23:15 +00:00
DarkTrick
3c459b7fd6 doc: Explicitly said, that no null term. is needed 2021-09-06 11:23:14 +00:00
Daniel Șerbănescu
9f327fac39 Update Romanian translation 2021-09-05 09:46:11 +00:00
Boyuan Yang
758948e210 Update Chinese (China) translation 2021-09-04 17:08:58 +00:00
Changwoo Ryu
07f23b9a84 Update Korean translation 2021-09-04 15:00:01 +00:00
Ting-Wei Lan
8b3506bc81 ci: Use C.UTF-8 locale on FreeBSD 12 2021-09-03 01:29:57 +08:00
Aurimas Černius
80ea11e9a8 Updated Lithuanian translation 2021-09-02 15:55:09 +03:00
Jordi Mas
144f25fd24 Update Catalan translation 2021-08-31 06:31:04 +02:00
Evan Welsh
0de8ec87d2 Revert "Merge branch 'fix/gclosure-invoke-type-annotation' into 'main'"
This reverts merge request !2181
2021-08-29 20:56:08 +00:00
Baurzhan Muftakhidinov
a8d3f2e0cf Update Kazakh translation 2021-08-29 17:05:55 +00:00
Fran Dieguez
eafcdd2eb6 Update Galician translation 2021-08-25 06:20:41 +00:00
Asier Sarasua Garmendia
9f7491af68 Update Basque translation 2021-08-21 08:44:21 +00:00
Philip Withnall
10ba1f30eb 2.69.2
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2021-08-19 16:13:40 +01:00
Philip Withnall
6ed35f2847 Merge branch 'wip/pwithnall/2456-thread-pool-fix' into 'main'
tests: Rewrite thread-pool test for freeing queued items

Closes #2456

See merge request GNOME/glib!2229
2021-08-19 15:09:06 +00:00
Philip Withnall
0eadf651fb tests: Rewrite thread-pool test for freeing queued items
The previous test was racy: it assumed that not all queued thread pool
jobs would start to be executed before `g_thread_pool_free()` was
called, whereas actually on some systems (particularly BSD ones), they
would all start (or even finish) being executed, and hence the free
function might never be called.

Rewrite the test to:
 • Synchronise the test function and worker thread functions more
   closely.
 • Not bother about ordering the shared and exclusive variants of the
   test differently. That seems to be a hangover from another test
   above.
 • Limit the number of worker threads to 1, rather than 2, since this
   makes the test easier to control.

This has been tested with `--repeat 10000` on Linux, and it succeeds all
of those runs whereas previously it failed quite reliably.

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

Fixes: #2456
2021-08-19 14:25:24 +01:00
Philip Withnall
b402f66c07 gthreadpool: Remove a dummy item from the queue before freeing
Now that `g_thread_pool_new_full()` can be used to set a user-provided
free function for queue elements, ensure that the internal dummy item
used to wake up the worker threads is removed from the queue before it’s
called.

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

Helps: #2456
2021-08-19 14:25:24 +01:00
Philip Withnall
51b0cd3ccc Merge branch '2343-async-result-docs' into 'main'
giotypes: Document refcounting of source object for GAsyncReadyCallback

Closes #2343

See merge request GNOME/glib!1988
2021-08-19 11:38:10 +00:00
Philip Withnall
e31aa76045 Merge branch '2316-dbus-session-hardening-again' into 'main'
Revert "gdbus: Use DBUS_SESSION_BUS_ADDRESS if AT_SECURE but not setuid"

Closes #2316

See merge request GNOME/glib!2212
2021-08-19 09:37:26 +00:00
Philip Withnall
4961c1c3b5 Merge branch 'wip/test-fail-convenience' into 'main'
gtestutils: Add more convenience functions

See merge request GNOME/glib!2215
2021-08-19 09:35:48 +00:00
Simon McVittie
052e335500 tests: Make use of g_test_fail_message()
Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-08-19 09:49:11 +01:00
Simon McVittie
a076dbcb68 gtestutils: Allow failing a test with a printf-style message
This allows a pattern like

    g_test_message ("cannot reticulate splines: %s", error->message);
    g_test_fail ();

to be replaced by the simpler

    g_test_fail_printf ("cannot reticulate splines: %s", error->message);

with the secondary benefit of making the message available to TAP
consumers as part of the "not ok" message.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-08-19 09:49:11 +01:00
Simon McVittie
26fbd14954 tests: Use g_test_skip_printf()
Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-08-19 09:41:08 +01:00