diff options
| author | 2009-11-05 22:34:21 +0100 | |
|---|---|---|
| committer | 2009-11-05 22:34:21 +0100 | |
| commit | 2a32789c0c431b312908b2b8fad3aa780058a238 (patch) | |
| tree | 218c86f9acd8c2117174d3da1171de2e632a9e35 | |
| parent | 384d76f27cc431f91e49b0ebfcc3fbdb1e2aa34f (diff) | |
| download | usbmuxd-2a32789c0c431b312908b2b8fad3aa780058a238.tar.gz usbmuxd-2a32789c0c431b312908b2b8fad3aa780058a238.tar.bz2 | |
Fix: properly remove devices from collection when usbmuxd terminatesv1.0.0
... instead of freeing the collection itself. This fixes the problem
with gvfs Volumes not getting removed when unplugging a device and thus
increasing the number of devices listed under 'Places' or the save file
dialog in GNOME.
| -rw-r--r-- | libusbmuxd/libusbmuxd.c | 3 | 
1 files changed, 1 insertions, 2 deletions
| diff --git a/libusbmuxd/libusbmuxd.c b/libusbmuxd/libusbmuxd.c index d375dd6..f074a5d 100644 --- a/libusbmuxd/libusbmuxd.c +++ b/libusbmuxd/libusbmuxd.c @@ -194,11 +194,10 @@ int get_next_event(int sfd, usbmuxd_event_cb_t callback, void *user_data)  		// when then usbmuxd connection fails,  		// generate remove events for every device that  		// is still present so applications know about it -		// TODO: is this behaviour correct?  		FOREACH(usbmuxd_device_info_t *dev, &devices) {  			generate_event(callback, dev, UE_DEVICE_REMOVE, user_data); +			collection_remove(&devices, dev);  		} ENDFOREACH -		collection_free(&devices);  		return recv_len;  	} else if (recv_len == sizeof(hdr)) {  		if (hdr.message == MESSAGE_DEVICE_ADD) { | 
