Meson extracts them by itself and add them as dependencies for the target.
It means one less location to keep track of files, and a lot less boilerplate
around the meson files
The `X-GNOME-Bugzilla-*` entries were for use by bug-buddy, a GNOME 2
technology that's been gone for over a decade. These entries are
obsolete and can be removed from all desktop files.
The `X-GNOME-Settings-Panel` entry is also obsolete as far as I can
tell and only these panels had it in their desktop file: notifications,
sharing, sound and user-accounts. These entries can also be removed.
After removing the `X-GNOME-Bugzilla-*` entries, the desktop files have
no more variables in them. The meson `configure_file` step is therefor
pointless—there are no variables to configure. As such the
`*.desktop.in.in` files are renamed to `*.desktop.in` to reflect this
and `meson.build` files are modified to remove `configure_file` step.
If the goa helper fails to find goa helper executable (which happened when run
without install), %NULL is returned. Avoid feeding g_variant_parse(), the %NULL
variable in those case as it is not nullable and avoid the crash that follows.
Make sure to keep a reference to the GoaObject of the account around so
that the GBinding that synchronises each switch widget and the account
properties don't get finalized on startup.
#0 0x00007ffff73c6a20 in g_binding_finalize () at /lib64/libgobject-2.0.so.0
#1 0x00007ffff73d3d22 in g_object_unref () at /lib64/libgobject-2.0.so.0
#2 0x00007ffff73c68e8 in weak_unbind () at /lib64/libgobject-2.0.so.0
#3 0x00007ffff73cf117 in weak_refs_notify () at /lib64/libgobject-2.0.so.0
#4 0x00007ffff72acd6c in g_data_set_internal () at /lib64/libglib-2.0.so.0
#5 0x00007ffff73d0195 in g_object_real_dispose.lto_priv () at /lib64/libgobject-2.0.so.0
#6 0x00007ffff73d3c44 in g_object_unref () at /lib64/libgobject-2.0.so.0
#7 0x00007ffff72b6793 in g_hash_table_remove_all_nodes.part () at /lib64/libglib-2.0.so.0
#8 0x00007ffff72ba723 in g_hash_table_unref () at /lib64/libglib-2.0.so.0
#9 0x00007ffff753403d in g_dbus_object_proxy_finalize () at /lib64/libgio-2.0.so.0
#10 0x00007ffff73d3d22 in g_object_unref () at /lib64/libgobject-2.0.so.0
#11 0x0000000000402d08 in glib_autoptr_clear_GoaObject (_ptr=0x5d59f0) at /usr/include/goa-1.0/goa/goa-generated.h:3265
#12 glib_autoptr_cleanup_GoaObject (_ptr=<synthetic pointer>) at /usr/include/goa-1.0/goa/goa-generated.h:3265
#13 on_application_activate_show_account_cb (application=0x49f2f0, argv=<optimized out>) at ../../../../Projects/jhbuild/gnome-control-center/panels/online-accounts/gnome-control-center-goa-helper.c:360
Closes: #1721
Rename the app-id to org.gnome.Settings since this is what
we've been calling it for many years now. Adjust all files
that derive from the app-id, such as the desktop file, D-Bus
service file names, search providers, GSettings schemas, to
match that.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/344
This is a massive rewrite of the panel. Because we can't have
nice things and WebKit2GTK for GTK4 won't be ready in time,
rework the panel to spawn a new subprocess with a dialog that
handles online accounts - both creation and editing.
Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.
panels/applications/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/background/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/camera/meson.build:10:5: ERROR: Function does not take positional arguments.
[...]
Instead of having the "more" button which reveals more items to the
providers list.
We still list branded providers above non-branded providers in the
list.
Fixes#1072
Due to an API bug in GNOME Online Accounts, the asynchronous
goa_provider_get_all method doesn't accept a GCancellable argument. This makes
it difficult to cancel an ongoing call when the CcGoaPanel gets destroyed.
This was hacked around by taking a reference on the panel for the duration of
the call. Instead of cancelling a pending call on destruction, it would keep the
panel alive until the call was over.
The hack does not consider the case get_all_providers_cb is called while the
panel is still being initialized. E.g. this happen when create the panel passing
the paramenters "add <provider>" because the constuct properties are set just
after cc_goa_panel_init returns and because goa_provider_add_account will result
in a call to g_main_context_iterate (caused by gtk_dialog_run).
In order to work around this we can call goa_provider_get_all in _constructed()
after all construct properties have been set.
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/401