aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTrung Lê <8@tle.id.au>2026-06-10 11:57:34 +1000
committerTrung Lê <8@tle.id.au>2026-06-10 11:57:34 +1000
commitfffd92d8752579a88bd7f9d323934cbc901b6dfd (patch)
treeb2df2a71b70e783fa0330c8c03309d4e918c9733
parentf51ba1bf936ae5085ba604b76bbca18e79554dfe (diff)
ci: exclude global_shortcuts.c from use_auto_cleanup
Every use_auto_cleanup finding in the D-Bus portal plumbing is a false positive: floating GVariant references sunk by g_variant_new_tuple/builders, GVariant* arrays, and the request GDBusProxy that is deliberately kept alive past the function to receive its reply signal. Converting any of them to g_autoptr would over-unref and crash, so the rule is excluded for this file rather than worked around in the (correct) code.
-rw-r--r--gobject-linter.toml6
1 files changed, 6 insertions, 0 deletions
diff --git a/gobject-linter.toml b/gobject-linter.toml
index 5fe6bb6..63713ed 100644
--- a/gobject-linter.toml
+++ b/gobject-linter.toml
@@ -28,5 +28,11 @@ level = "ignore"
# function (e.g. the GlobalShortcuts GDBusProxy). Converting those to g_autoptr
# would over-unref and crash, so it reports rather than blocks. Convert the safe
# g_autofree/g_autoptr sites manually over time.
+#
+# global_shortcuts.c is the D-Bus portal plumbing: every finding there is one of
+# the false positives above (floating GVariants sunk by g_variant_new_tuple,
+# GVariant* arrays, or the deliberately long-lived request proxy), so the rule is
+# excluded for that file entirely.
[rules.use_auto_cleanup]
level = "warn"
+ignore = ["src/global_shortcuts.c"]