GNOME Bugzilla – Bug 137815
GtkFileSystem(Win32) : Better handling for removable drives needed
Last modified: 2011-02-04 16:16:24 UTC
see : http://mail.gnome.org/archives/gtk-devel-list/2004-January/msg00295.html mounting and unmounting of devices is asynchrone (almost completely triggered by the user) on win32. GtkFileChooser currently does not get the change information and as a result behaves badly if the user removes a media (volume) currently displayed. I see three possible solutions : * somehow create the "volumes-changed" signal when drives get added or removed (maybe this can be done with completion ports or ReadDirectoryChangesW ?) * lock volumes as long they are displayed (this would be restriced to CD ROM and USB/Firewire drives which are controlable by software; it wouldn't solve the problem introduced by mecahnical removed floppies) * add better error handling everywhere and invalidate the respective volume as soon as something goes wrong
I'd be happy with option 2 (since the FileChooser shouldn't be active for prolonged periods), but option 1 is also possible for non-floppies, see: http://support.microsoft.com/default.aspx?scid=kb;en-us;163503 For floppies, I suspect option 3 is the only answer.
Mass changing gtk+ bugs with target milestone of 2.4.2 to target 2.4.4, as Matthias said he was trying to do himself on IRC and was asking for help with. If you see this message, it means I was successful at fixing the borken-ness in bugzilla :) Sorry for the spam; just query on this message and delete all emails you get with this message, since there will probably be a lot.
*** Bug 159140 has been marked as a duplicate of this bug. ***
Actually there is a simple solution: 2004-11-30 Hans Breuer <hans@breuer.org> * gtk/gtkfilesystemwin32.c : add an idle handler to emit "volumes-changed" when drives are plugged in or removed. Fixes bug #137815