Merge pull request #3362 from lukasfink1/bt-dyn-controller-pr
Fix device list not being updated on selecting new bluetooth controller
This commit is contained in:
		
						commit
						9ba5825009
					
				|  | @ -301,16 +301,25 @@ auto waybar::modules::Bluetooth::onObjectAdded(GDBusObjectManager* manager, | ||||||
| auto waybar::modules::Bluetooth::onObjectRemoved(GDBusObjectManager* manager, | auto waybar::modules::Bluetooth::onObjectRemoved(GDBusObjectManager* manager, | ||||||
|                                                  GDBusObject* object, |                                                  GDBusObject* object, | ||||||
|                                                  gpointer user_data) -> void { |                                                  gpointer user_data) -> void { | ||||||
|   GDBusProxy* proxy_controller = |   Bluetooth* bt = static_cast<Bluetooth*>(user_data); | ||||||
|       G_DBUS_PROXY(g_dbus_object_get_interface(object, "org.bluez.Adapter1")); |   GDBusProxy* proxy_controller; | ||||||
|  | 
 | ||||||
|  |   if (!bt->cur_controller_.has_value()) { | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   proxy_controller = G_DBUS_PROXY(g_dbus_object_get_interface(object, "org.bluez.Adapter1")); | ||||||
| 
 | 
 | ||||||
|   if (proxy_controller != NULL) { |   if (proxy_controller != NULL) { | ||||||
| 
 | 
 | ||||||
|     std::string object_path = g_dbus_object_get_object_path(object); |     std::string object_path = g_dbus_object_get_object_path(object); | ||||||
|     Bluetooth* bt = static_cast<Bluetooth*>(user_data); |  | ||||||
| 
 | 
 | ||||||
|     if (object_path == bt->cur_controller_->path) { |     if (object_path == bt->cur_controller_->path) { | ||||||
|       bt->cur_controller_ = bt->findCurController(); |       bt->cur_controller_ = bt->findCurController(); | ||||||
|  |       if (bt->cur_controller_.has_value()) { | ||||||
|  |         bt->connected_devices_.clear(); | ||||||
|  |         bt->findConnectedDevices(bt->cur_controller_->path, bt->connected_devices_); | ||||||
|  |       } | ||||||
|       bt->dp.emit(); |       bt->dp.emit(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue