diff --git a/uppsrc/Core/NetNode.cpp b/uppsrc/Core/NetNode.cpp index 21de3be97..5d0e3869a 100644 --- a/uppsrc/Core/NetNode.cpp +++ b/uppsrc/Core/NetNode.cpp @@ -66,6 +66,14 @@ Array NetNode::EnumRoot() return Enum0(hEnum); } +Array NetNode::EnumRemembered() +{ + HANDLE hEnum; + if(::WNetOpenEnum(RESOURCE_REMEMBERED, RESOURCETYPE_DISK, 0, NULL, &hEnum)) + return Array(); + return Enum0(hEnum); +} + Array NetNode::Enum0(HANDLE hEnum) { Array r; diff --git a/uppsrc/Core/Path.h b/uppsrc/Core/Path.h index 8d173b47a..4455a159c 100644 --- a/uppsrc/Core/Path.h +++ b/uppsrc/Core/Path.h @@ -288,6 +288,7 @@ public: void Serialize(Stream& s); static Array EnumRoot(); + static Array EnumRemembered(); NetNode(); NetNode(const NetNode& s) { *this = s; } diff --git a/uppsrc/CtrlLib/FileSel.cpp b/uppsrc/CtrlLib/FileSel.cpp index e721e31a7..1b679ab04 100644 --- a/uppsrc/CtrlLib/FileSel.cpp +++ b/uppsrc/CtrlLib/FileSel.cpp @@ -495,6 +495,7 @@ void FileSel::SearchLoad() #ifdef PLATFORM_WIN32 if(d == "\\") { netnode = NetNode::EnumRoot(); + netnode.Append(NetNode::EnumRemembered()); LoadNet(); return; } @@ -673,6 +674,7 @@ bool FileSel::OpenItem() { #ifdef PLATFORM_WIN32 if(IsNull(dir) && m.name == t_("Network")) { netnode = NetNode::EnumRoot(); + netnode.Append(NetNode::EnumRemembered()); LoadNet(); return true; }