Internal new background directory scanning for Windows; see issue #597

This commit is contained in:
Oliver Duis
2011-03-25 22:17:16 +01:00
parent 0f416b379a
commit adc5518d52
8 changed files with 32 additions and 33 deletions

View File

@@ -140,6 +140,8 @@ void DirBrowser::updateVolumes () {
int nvolumes = GetLogicalDrives ();
if (nvolumes!=volumes) {
gdk_threads_enter();
for (int i=0; i<32; i++)
if (((volumes >> i) & 1) && !((nvolumes >> i) & 1)) { // volume i has been deleted
for (Gtk::TreeModel::iterator iter = dirTreeModel->children().begin(); iter!=dirTreeModel->children().end(); iter++)
@@ -151,14 +153,14 @@ void DirBrowser::updateVolumes () {
else if (!((volumes >> i) & 1) && ((nvolumes >> i) & 1))
addRoot ('A'+i); // volume i has been added
volumes = nvolumes;
gdk_threads_leave();
}
}
int _updateVolumes (void* br) {
gdk_threads_enter ();
((DirBrowser*)br)->updateVolumes ();
gdk_threads_leave ();
return 1;
}
int _updateDirTree (void* br) {