construct properties always trigger the deprecated property warning
G_DEBUG=fatal-warnings G_ENABLE_DIAGNOSTIC=1 gdb --args gio info file:///
for which the important part is that GDBus calls into
g_socket_client_new() which constructs a
GSocketClient with default properties:
g_object_new (G_TYPE_SOCKET_CLIENT, NULL);
Expected result: no warning, because the deprecated
GSocketClient:tls-validation-flags property was correctly not specified
(gio info:244202): GLib-GObject-WARNING **: 09:57:15.537: The property GSocketClient:tls-validation-flags is deprecated and shouldn't be used anymore. It will be removed in a future version.
(followed by a crash because I used
From the backtrace, this appears to be because
g_object_new_internal() sets all construct properties to their default values by calling
object_set_property() does not have a way to know which ones were explicitly provided by the user in a
GObjectConstructParam and which ones are just being set to their defaults.