The disconnect was for the wrong object (connection rather than client).
Fix this by simply moving to use g_signal_connect_object which obsoletes
the explicit disconnect calls.
The test to check whether the Bluetooth (simple section) contains
elements was testing for NetObjectSimple. However, ethernet connections
are a subclass and check would count these. This causes issue when the
code is run after net object removal.
The fix is to check for the exact object type rather than also allowing
subclasses.
When a device is removed the callback handler could still be called
because it was connected using g_signal_connect rather than
g_signal_connect_object. This fixes crashes in the UI after a device has
been removed again.
(cherry picked from commit e91266a8f0)
The "removed" callback from NMObject is never called when the object is
simply finalised because the UI drops the reference. Explicitly call the
handler so that UI elements are removed.
(cherry picked from commit ec50cbcdff)
dialog_got_proxy_cb and dialog_got_proxy_props_cb may be called after the
instance of CcNightLightDialog has been disposed. Make sure 'self' pointer is
not dereferenced if not valid.
Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/86
A variable of label widget, used for a hint when wrong enterprise
user/password is used, is not properly initialized and thus criticals
are shown instead of the hint when user/password is wrong. Let's bind
the variable properly.
(cherry picked from commit f4b1fb66a4)
When selecting the panel on startup based on the "last-panel" settings,
we need to make sure that the panel exists.
Note that this is a special case which does not use the internal
set_active_panel_from_id API. Using it is currently not possible because
the API does not report back the error and we would end up not selecting
any panel.
(cherry picked from commit f547d9129d)
meson defines `USER_DIR_MODE` with a raw octal value to be used as
the default permissions when creating the user's configuration
directory.
However, meson does not support raw octal values[0], so the define
misses the initial `0` value. Due to this, the directory is created
with wrong permissions.
This has been changed to use the octal value as a string in meson,
so the definition has the proper value.
Fixes#49
[0] https://github.com/mesonbuild/meson/issues/2047
(cherry picked from commit 37a6b940cb)
Fix a user-after-free while testing the connectivity to a cups
server. This is similar to the fix in commit 1d72a0b.
This is an addition to the changes introduced in commit 2ff5cfd
which allowed the connection testing to be cancellable.
Fixes#51
Fixes https://bugzilla.gnome.org/794632
When removing an online account, gnome-control-center gives the user
the possibility to undo the action showing an "undo notification".
Right now if you close the gnome-control-center window, without dismissing
the notification, the online account will not be properly removed.
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/25
(cherry picked from commit d918b02c1f)
cheese_camera_device_monitor_new freezes the whole panel when opening
for a couple of seconds if external camera is connected. This is not
acceptable. Probably it is bug in kernel. Let's use GAsyncInitable if
available.
Bump the cheese dependency accordingly.
https://bugzilla.gnome.org/show_bug.cgi?id=783789
This library is deprecated for a long time now, and Fedora Rawhide
removed the package. Since our CI is based on Rawhide, it began
to fail.
In the end, the usage was just legacy code that doesn't exist anymore,
so it's pretty safe to just plain drop it.
(cherry picked from commit 5659271ec3)
The GVariant constructed here would be useless otherwise, since there are
no outputs to show the labels for. Besides, calling g_variant_builder_close
in this scenario would hit an assertion and the program would crash.
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/12
Both the Network panel and libnma expect UI resources in the
same location, which will cause problems when the Network panel loads
its own version that doesn't quite match up to the code used in libnma.
This fixes a crash when nma_wifi_dialog_new_for_hidden() is called and
libnma expects a domain widget to be present, which it isn't in our
version of the UI files.
https://bugzilla.gnome.org/show_bug.cgi?id=785099
1. open Wi-Fi Settings
2. Menu -> Known Wi-fi Networks
3. Click settings of some Wi-Fi network listed there.
4. Press escape twice to close all the dialogs
5. Menu -> Connect to Hidden network..,
Fix crashes when some object type names (WirelessSecurity and
EAPMethod in this case) are duplicated across the Network
panel and libnma.
Fixes a regression in commit 0470c04https://bugzilla.gnome.org/show_bug.cgi?id=785099
This commit removes focusing of widgets in authentication dialog
which could happen when user traverses Jobs dialog via Tab key
if there are some jobs which need authentication.
Lets rely on standard focus chain.