diff --git a/uppsrc/CtrlLib/FileSel.cpp b/uppsrc/CtrlLib/FileSel.cpp index 867b77020..0b15b67bf 100644 --- a/uppsrc/CtrlLib/FileSel.cpp +++ b/uppsrc/CtrlLib/FileSel.cpp @@ -804,7 +804,7 @@ void FileSel::SelectNet() } #ifdef PLATFORM_WIN32 -void FileSel::ScanNetwork(Function ()> fn) +bool FileSel::ScanNetwork(Function ()> fn) { Progress pi(t_("Scanning network..")); loading_network = true; @@ -821,14 +821,14 @@ void FileSel::ScanNetwork(Function ()> fn) break; if(pi.StepCanceled()) { SetDir(""); - return; + return false; } Sleep(10); } for(;;) { if(pi.StepCanceled()) { SetDir(""); - return; + return false; } if(!loading_network) { LoadNet(); @@ -836,6 +836,7 @@ void FileSel::ScanNetwork(Function ()> fn) } Sleep(10); } + return true; } bool FileSel::netroot_loaded; @@ -848,14 +849,13 @@ void FileSel::ScanNetworkRoot() LoadNet(); return; } - ScanNetwork([] { + netroot_loaded = ScanNetwork([] { Array n; n = NetNode::EnumRoot(); n.Append(NetNode::EnumRemembered()); return n; }); netroot = clone(netnode); - netroot_loaded = true; } #endif diff --git a/uppsrc/CtrlLib/FileSel.h b/uppsrc/CtrlLib/FileSel.h index 05976af56..9cd0e1599 100644 --- a/uppsrc/CtrlLib/FileSel.h +++ b/uppsrc/CtrlLib/FileSel.h @@ -279,7 +279,7 @@ protected: void AddPlaceRaw(const String& path, const Image& m, const String& name, const char* group = NULL, int row = -1); void AddSystemPlaces(int row = -1); #ifdef PLATFORM_WIN32 - void ScanNetwork(Function ()> fn); + bool ScanNetwork(Function ()> fn); void ScanNetworkRoot(); #endif