diff options
| author | Johan Hedberg <johan.hedberg@nokia.com> | 2007-08-30 08:12:20 +0000 | 
|---|---|---|
| committer | Johan Hedberg <johan.hedberg@nokia.com> | 2007-08-30 08:12:20 +0000 | 
| commit | 921c1a63009394047b963930cfd49fea60017599 (patch) | |
| tree | 5fee4f4538985a1ce2043268ab10c2a76596d2ee /audio/manager.c | |
| parent | 734b3f84c1e48f241bf1004e57a86fa898d083a5 (diff) | |
Fix behaviour when no adapter is connected
Diffstat (limited to 'audio/manager.c')
| -rw-r--r-- | audio/manager.c | 9 | 
1 files changed, 8 insertions, 1 deletions
| diff --git a/audio/manager.c b/audio/manager.c index 9c57d17d..30b78632 100644 --- a/audio/manager.c +++ b/audio/manager.c @@ -608,6 +608,8 @@ struct device *manager_device_connected(bdaddr_t *bda, const char *uuid)  	device = manager_find_device(bda, NULL, FALSE);  	if (!device) {  		device = create_device(bda); +		if (!device) +			return NULL;  		if (!add_device(device, TRUE)) {  			remove_device(device);  			return NULL; @@ -676,13 +678,18 @@ struct device *manager_device_connected(bdaddr_t *bda, const char *uuid)  	return device;  } -void manager_create_device(bdaddr_t *bda, create_dev_cb_t cb, +gboolean manager_create_device(bdaddr_t *bda, create_dev_cb_t cb,  				void *user_data)  {  	struct device *dev;  	dev = create_device(bda); +	if (!dev) +		return FALSE; +  	resolve_services(NULL, dev, cb, user_data); + +	return TRUE;  }  static DBusHandlerResult am_create_device(DBusConnection *conn, | 
