- refresh the symbolic icons to sync some style changes and update the source sheet
- rename assets for the privacy subpanel's symbolic icons
- delete deprecated/unused symbolic icons
- add new icon for system panel
- add new icon for remote desktop so it isn't using displays icons
We currently hide "Device Security" when running in a VM or an
undefined systemd-hostnamed chassis-type.
This makes our existing check use the CcHostname utility.
The switches from app rows in the Location, Camera
and Microphone pages can't be interacted by clicking
on the rows. Mark these switches as activatable-widgets
to fix that.
The letter C was both used for the "Clear History"
and "Cancel" actions, causing both mnemonics to
not work. Fix that by choosing a different letter
for the "Clear History" action.
There is currently no portal through which applications can request
access to the microphone. So all applications either access the
PulseAudio/Pipewire socket directly (which cannot be controlled by this
panel) or do not access the microphone (in which case they do not appear
here).
Hide the panel until such a portal exists. Remove the “microphone”
keyword from the panel's desktop file, used for in-app and desktop
search results.
Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2848
When the Bolt page gets disposed before it finishes initializing
its client object we get a crash. See #2700
A way to trigger the crash is to switch panels fast enough so that
the sync dbus call is not finished by the time the panel is disposed.
This is not a guaranteed fix since I can't reproduce the issue
consistently.
The GVariant constructor g_variant_new () gives a floating reference,
which will be sunk by the g_dbus_..._call () methods. Unless the
constructed GVariant is manually referenced, it should not be used in a
g_autoptr () setting. Otherwise a use-after-free might occur in the
async g_dbus_..._call () methods.
This problem occurs here, which is simply prevented by not having the
g_autoptr () declaration for the GVariant.
Fixes#2647Fixes#2704Fixes#2635Fixes#2706
Use a GtkStack instead of a AdwLeaflet in the security and heavily
simplify the security dialog, because it contained a lot of misued
widgets and also a page that was never made visible.
There's only one instance of this pattern - make the function specific
to that case rather than generic.
The current code is leaking the Label2Data struct and the GSettings
signal connection. The leak of the signal connection was causing a crash
in case the callback was called after the label was destroyed. Instead
of just directly fixing these problems, let's eliminate the intermediate
struct and just support the specific case we're interested in directly.
The location support in flatpak is changing with the
next releases of geoclue and xdg-desktop-portal, and
the permission table is changing as well. Adapt to these
changes.
This may need some version check, or migration.