A duplicatend and translated string could be passed to gettext another
time. If that string can be translated, then a static string would be
returned rather than the const one, causing an invalid free.
Fixes: #1149
(cherry picked from commit e80b4b5f58)
In the shortcut editor, the "Replace" button is shown instead of "Set"
or "Add" when there is a collision. But this executes the same code as
"Set", so when adding a shortcut, it doesn't actually work.
In the ubuntu 20.04, we found a regression on HDMI audio. We plug a
HDMI/DP monitor, the output device is the speaker in the output device
combo box, then we select the HDMI from the combo box, the output
device is switched to HDMI audio successfully, but the configuration
box is empty. This will not happen in the ubuntu 18.04, the profile
will show hdmi-stereo in this situation. So I think this is a
regression.
When problem happens, I could see the errors from log:
Gvc: DEBUG: Matching profile for 'output:analog-stereo' is '(null)'
Gvc: DEBUG: Matching profile for 'output:analog-stereo' is '(null)'
Gvc: DEBUG: Matching profile for 'output:analog-stereo' is '(null)'
Through debugging, I found the cc_profile_combo_box_set_device() is
called too early. In the ubuntu 18.04, this function is called after
pulseaudio changes the active_profile, but in the ubuntu 20.04, it is
called ahead of pulseaudio changes the active_profile.
To fix it, add a signal callback function, after pulseaudio changes
the active_profile, this callback function will be called, then call
cc_profile_combo_box_set_device().
Signed-off-by: Hui Wang <hui.wang@canonical.com>
We don't need to track them much specifically, as we delegate pad
button mapping UI on GNOME Shell. It is however possible to have
tablets with 0 to N pads (upper bound within sanity = 2), so we
must at least reflect that in the "Map Buttons..." button visibility.
This distinction is most important for the combination of EKR plus
Cintiq 27QHD, as this is a pad-less tablet, for which we wouldn't
usually show the "Map buttons..." action.
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/415
This puts stylus/pad tracking on 2 separate levels. The CcWacomPanel
will look for styli, and treat them as "device leaders", adding a
CcWacomPage for them.
The CcWacomPage will then track the related pad, and update the
"Map buttons..." action visibility according to it.
This simplifies tablet page creation (eg. have it completed in one
step), and decouples the device grouping logic from CcWacomPanel,
which will be useful in future commits.
Commit f1893b8e8 (color: Connect signals with g_signal_connect_object
in swapped form) changed the connect call to use G_CONNECT_SWAPPED, but
it did not change the order of the arguments for the
gcm_prefs_device_changed_cb function.
Fixes: #1082
on some systems, private types of settings app are not resolved.
Error building template class 'CcApplicationsPanel' for
an instance of type 'CcApplicationsPanel':
Invalid object type 'CcToggleRow'
to fix this issue, ensure private types used by the template
We already had the machanism to show/hide the button based on the number
of camera devices detected. We were just not checking for that at
startup.
Fixes#1087
gnome-shell saves the user choice for applications allowed to disable
regular shortcuts in the permission store, using "GRANTED" or "DENIED"
(in gnome-shell/js/ui/inhibitShortcutsDialog.js).
Add a new entry to change that permission in the application panel,
similar to what gnome-shell does.
In libhandy 0.0, action children were added from the end to the start,
in libhandy 1 it is from the start to the end, so the order they are
added to the row need to be reversed.
The setting to disable IPv6 did not actually work. Instead, it just
caused NetworkManager to ignore IPv6 entirely. From the libnm
documentation of NM_SETTING_IP6_CONFIG_METHOD_IGNORE: "IPv6 is not
required or is handled by some other mechanism, and NetworkManager
should not configure IPv6 for this connection." It's just the wrong enum
to use here.
I considered adding a new radio button to use the older ignore setting,
but it doesn't make a ton of sense since that setting allows IPv6 to be
configured outside NetworkManager, and what is the point of exposing
graphical configuration for that? So instead, we can have the GUI change
the value from IGNORE to DISABLED if set.
Fixes#593
To delete a manual entry row (IP addresses or routes) the remove_row
function started walking the widget hierarchy at the connection editor
widget. This caused the entire dialog box getting removed. Begin at the
GtkButton instead to actually remove the corresponding line.
Fixes#972.