search-directory: make sure to stop the search if no clients
Until now we were not stopping the search if no callbacks from clients were present. That happened when the user canceled the search while the search directory was waiting for its files metadata, since that async call was not canceled. This was actually making nautilus freeze on situations where the search was so expensive that other threads couldn't cope with it. To fix it, make sure we stop the search if no clients are present as callbacks, and make sure we stop the load of the view when we cancel the async call in the stop_loadin handler of the view.
Showing with 12 additions and 13 deletions