Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gnome-bluetooth for openSUSE:Factory checked in at 2022-07-09 16:59:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gnome-bluetooth (Old) and /work/SRC/openSUSE:Factory/.gnome-bluetooth.new.1523 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-bluetooth" Sat Jul 9 16:59:36 2022 rev:106 rq:987491 version:42.2 Changes: -------- --- /work/SRC/openSUSE:Factory/gnome-bluetooth/gnome-bluetooth.changes 2022-06-13 13:02:03.673077687 +0200 +++ /work/SRC/openSUSE:Factory/.gnome-bluetooth.new.1523/gnome-bluetooth.changes 2022-07-09 16:59:51.536510177 +0200 @@ -1,0 +2,8 @@ +Thu Jul 7 11:53:10 UTC 2022 - Dominique Leuenberger <dims...@opensuse.org> + +- Update to version 42.2: + + This version fixes duplicate devices appearing when bluetoothd + restarts, as well as the discovery not being updated correctly + in that same situation. + +------------------------------------------------------------------- Old: ---- gnome-bluetooth-42.1.tar.xz New: ---- gnome-bluetooth-42.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gnome-bluetooth.spec ++++++ --- /var/tmp/diff_new_pack.1Iyu4m/_old 2022-07-09 16:59:52.044510941 +0200 +++ /var/tmp/diff_new_pack.1Iyu4m/_new 2022-07-09 16:59:52.048510947 +0200 @@ -18,7 +18,7 @@ %define _udevdir %(pkg-config --variable udevdir udev) Name: gnome-bluetooth -Version: 42.1 +Version: 42.2 Release: 0 Summary: GNOME Bluetooth graphical utilities License: GPL-2.0-or-later AND LGPL-2.1-or-later ++++++ gnome-bluetooth-42.1.tar.xz -> gnome-bluetooth-42.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-bluetooth-42.1/NEWS new/gnome-bluetooth-42.2/NEWS --- old/gnome-bluetooth-42.1/NEWS 2022-06-09 17:52:45.000000000 +0200 +++ new/gnome-bluetooth-42.2/NEWS 2022-07-07 09:52:21.000000000 +0200 @@ -1,3 +1,7 @@ +ver 42.2: +This version fixes duplicate devices appearing when bluetoothd restarts, as well +as the discovery not being updated correctly in that same situation. + ver 42.1: This version fixes the display of devices with '&' in their names, and contains updated translations. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-bluetooth-42.1/lib/bluetooth-client.c new/gnome-bluetooth-42.2/lib/bluetooth-client.c --- old/gnome-bluetooth-42.1/lib/bluetooth-client.c 2022-06-09 17:52:45.000000000 +0200 +++ new/gnome-bluetooth-42.2/lib/bluetooth-client.c 2022-07-07 09:52:21.000000000 +0200 @@ -62,6 +62,7 @@ GDBusObjectManager *manager; GCancellable *cancellable; guint num_adapters; + /* Prevent concurrent enabling or disabling discoveries */ gboolean discovery_started; UpClient *up_client; gboolean bluez_devices_coldplugged; @@ -1104,42 +1105,68 @@ } static void -set_discovery_filter_cb (Adapter1 *adapter, - GAsyncResult *res, - gpointer user_data) +stop_discovery_cb (Adapter1 *adapter, + GAsyncResult *res, + gpointer user_data) { g_autoptr(GError) error = NULL; gboolean ret; - ret = adapter1_call_set_discovery_filter_finish (adapter, res, &error); + ret = adapter1_call_stop_discovery_finish (adapter, res, &error); if (!ret) { - g_debug ("Error calling SetDiscoveryFilter() on interface org.bluez.Adapter1: %s (%s, %d)", + g_debug ("Error calling StopDiscovery() on %s org.bluez.Adapter1: %s (%s, %d)", + g_dbus_proxy_get_object_path (G_DBUS_PROXY (adapter)), error->message, g_quark_to_string (error->domain), error->code); + } else { + g_debug ("Ran StopDiscovery() successfully on %s org.bluez.Adapter1", + g_dbus_proxy_get_object_path (G_DBUS_PROXY (adapter))); } } static void -discovery_cb (Adapter1 *adapter, - GAsyncResult *res, - gpointer user_data) +start_discovery_cb (Adapter1 *adapter, + GAsyncResult *res, + gpointer user_data) { g_autoptr(GError) error = NULL; gboolean ret; - gboolean start_call = GPOINTER_TO_UINT (user_data); - if (start_call) - ret = adapter1_call_start_discovery_finish (adapter, res, &error); - else - ret = adapter1_call_stop_discovery_finish (adapter, res, &error); + ret = adapter1_call_start_discovery_finish (adapter, res, &error); if (!ret) { - g_debug ("Error calling %s on %s org.bluez.Adapter1: %s (%s, %d)", - start_call ? "StartDiscovery()" : "StopDiscovery()", + g_debug ("Error calling StartDiscovery() on %s org.bluez.Adapter1: %s (%s, %d)", g_dbus_proxy_get_object_path (G_DBUS_PROXY (adapter)), error->message, g_quark_to_string (error->domain), error->code); + if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { + BluetoothClient *client = user_data; + client->discovery_started = FALSE; + } + } +} + +static void +set_discovery_filter_cb (Adapter1 *adapter, + GAsyncResult *res, + gpointer user_data) +{ + g_autoptr(GError) error = NULL; + gboolean ret; + + ret = adapter1_call_set_discovery_filter_finish (adapter, res, &error); + if (!ret) { + g_debug ("Error calling SetDiscoveryFilter() on interface org.bluez.Adapter1: %s (%s, %d)", + error->message, g_quark_to_string (error->domain), error->code); + if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { + BluetoothClient *client = user_data; + client->discovery_started = FALSE; + } } else { - g_debug ("Ran %s successfully on %s org.bluez.Adapter1", - start_call ? "StartDiscovery()" : "StopDiscovery()", - g_dbus_proxy_get_object_path (G_DBUS_PROXY (adapter))); + BluetoothClient *client = user_data; + + g_debug ("Starting discovery on %s", g_dbus_proxy_get_object_path (G_DBUS_PROXY (adapter))); + adapter1_call_start_discovery (ADAPTER1 (adapter), + client->cancellable, + (GAsyncReadyCallback) start_discovery_cb, + client); } } @@ -1157,6 +1184,7 @@ if (adapter == NULL) { g_debug ("%s discovery requested, but no default adapter", discovering ? "Starting" : "Stopping"); + client->discovery_started = FALSE; return; } @@ -1171,22 +1199,14 @@ client->cancellable, (GAsyncReadyCallback) set_discovery_filter_cb, client); - } - - if (discovering) { - g_debug ("Starting discovery on %s", g_dbus_proxy_get_object_path (adapter)); - adapter1_call_start_discovery (ADAPTER1 (adapter), - client->cancellable, - (GAsyncReadyCallback) discovery_cb, - GUINT_TO_POINTER (discovering)); } else { /* Don't cancel a discovery stop when the BluetoothClient * is finalised, so don't pass a cancellable */ g_debug ("Stopping discovery on %s", g_dbus_proxy_get_object_path (adapter)); adapter1_call_stop_discovery (ADAPTER1 (adapter), NULL, - (GAsyncReadyCallback) discovery_cb, - GUINT_TO_POINTER (discovering)); + (GAsyncReadyCallback) stop_discovery_cb, + client); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-bluetooth-42.1/lib/bluetooth-settings-widget.c new/gnome-bluetooth-42.2/lib/bluetooth-settings-widget.c --- old/gnome-bluetooth-42.1/lib/bluetooth-settings-widget.c 2022-06-09 17:52:45.000000000 +0200 +++ new/gnome-bluetooth-42.2/lib/bluetooth-settings-widget.c 2022-07-07 09:52:21.000000000 +0200 @@ -1341,6 +1341,14 @@ g_debug ("Default adapter changed to: %s", default_adapter ? default_adapter : "(none)"); + if (default_adapter == NULL && self->device_list != NULL) { + GtkWidget *child; + + g_debug ("Emptying list box as default adapter removed"); + while ((child = gtk_widget_get_first_child (self->device_list))) + gtk_list_box_remove (GTK_LIST_BOX (self->device_list), child); + } + g_object_set (G_OBJECT (client), "default-adapter-setup-mode", default_adapter != NULL, NULL); g_signal_emit (G_OBJECT (self), signals[ADAPTER_STATUS_CHANGED], 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-bluetooth-42.1/meson.build new/gnome-bluetooth-42.2/meson.build --- old/gnome-bluetooth-42.1/meson.build 2022-06-09 17:52:45.000000000 +0200 +++ new/gnome-bluetooth-42.2/meson.build 2022-07-07 09:52:21.000000000 +0200 @@ -1,6 +1,6 @@ project( 'gnome-bluetooth', 'c', - version: '42.1', + version: '42.2', license: 'GPL2+', default_options: 'buildtype=debugoptimized', meson_version: '>= 0.58.0',