--- Plugins/iTunes.pm 2005-08-10 19:40:00.000000000 -0700 +++ server/Plugins/iTunes.pm 2005-08-12 10:02:23.546875000 -0700 @@ -533,7 +533,7 @@ sub stopScan { $::d_itunes && msg("iTunes: Was stillScanning - stopping old scan.\n"); Slim::Utils::Scheduler::remove_task(\&scanFunction); - doneScanning(); + $isScanning = 0; } } --- Plugins/MusicMagic/Plugin.pm 2005-08-12 04:21:00.000000000 -0700 +++ server/Plugins/MusicMagic/Plugin.pm 2005-08-12 10:01:11.343750000 -0700 @@ -308,8 +308,10 @@ sub startScan { sub stopScan { if (stillScanning()) { + + $::d_musicmagic && msg("MusicMagic: Scan already in progress. Restarting\n"); Slim::Utils::Scheduler::remove_task(\&exportFunction); - doneScanning(); + $isScanning = 0; } } --- Plugins/MoodLogic/Plugin.pm 2005-08-10 19:40:00.000000000 -0700 +++ server/Plugins/MoodLogic/Plugin.pm 2005-08-12 09:59:00.921875000 -0700 @@ -261,8 +261,10 @@ sub startScan { sub stopScan { if (stillScanning()) { + $::d_moodlogic && msg("MoodLogic: Scan already in progress. Restarting\n"); Slim::Utils::Scheduler::remove_task(\&exportFunction); - doneScanning(); + $isScanning = 0; + %genre_hash = (); } } --- Slim/Music/MusicFolderScan.pm 2005-07-25 05:48:00.000000000 -0700 +++ server/Slim/Music/MusicFolderScan.pm 2005-08-12 09:39:21.921875000 -0700 @@ -46,8 +46,10 @@ sub startScan { } if ($stillScanning) { - $::d_info && msg("Scan already in progress. Aborting\n"); + $::d_info && msg("Scan already in progress. Restarting\n"); + $stillScanning = 0; Slim::Utils::Scan::stopAddToList(\@dummylist); + @dummylist = (); } $stillScanning = 1; @@ -68,6 +70,9 @@ sub startScanNoRecursive { } sub doneScanning { + #If scan aborted, $stillScanning will already be false. + return unless $stillScanning; + $::d_info && msg("finished background scan of music folder.\n"); $stillScanning = 0; --- Slim/Music/PlaylistFolderScan.pm 2005-08-06 18:39:00.000000000 -0700 +++ server/Slim/Music/PlaylistFolderScan.pm 2005-08-12 09:39:13.812500000 -0700 @@ -42,9 +42,11 @@ sub startScan { } if ($stillScanning) { - $::d_info && msg("Scan already in progress. Aborting\n"); + $::d_info && msg("Scan already in progress. Restarting\n"); + $stillScanning = 0; Slim::Utils::Scan::stopAddToList(\@dummylist); - } + @dummylist = (); + } $stillScanning = 1; @@ -53,6 +55,9 @@ sub startScan { } sub doneScanning { + #If scan aborted, $stillScanning will already be false. + return unless $stillScanning; + $::d_info && msg("finished background scan of playlist folder.\n"); $stillScanning = 0; --- Slim/Control/Command.pm 2005-08-12 06:20:00.000000000 -0700 +++ server/Slim/Control/Command.pm 2005-08-12 08:54:22.625000000 -0700 @@ -255,7 +255,7 @@ sub execute { $p1 = Slim::Utils::Misc::stillScanning() ? 1 : 0; - } elsif (!Slim::Utils::Misc::stillScanning()) { + } else { if (defined $p1 && $p1 eq 'playlists') { @@ -275,11 +275,11 @@ sub execute { } elsif ($p0 eq "wipecache") { - if (!Slim::Utils::Misc::stillScanning()) { + #if (!Slim::Utils::Misc::stillScanning()) { Slim::Music::Info::wipeDBCache(); Slim::Music::Import::resetImporters(); Slim::Music::Import::startScan(); - } + #} $client = undef;