Author: tfaber
Date: Sat Jun 20 17:52:28 2015
New Revision: 68212
URL:
http://svn.reactos.org/svn/reactos?rev=68212&view=rev
Log:
[SHELL32]
- Also make My Computer a singleton, as shown by the CMyComputer test. With r68210 and
this commit, SHFileOperation on a large number of files is approximately 3 times as fast.
CORE-9839 #resolve
Modified:
trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp
trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.h
trunk/reactos/dll/win32/shell32/shell32.cpp
Modified: trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
==============================================================================
--- trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp [iso-8859-1] Sat Jun 20
17:52:28 2015
@@ -161,6 +161,7 @@
CDrivesFolder::~CDrivesFolder()
{
TRACE ("-- destroying IShellFolder(%p)\n", this);
+ ASSERT(_CreatorClass::IsTerminated());
SHFree(pidlRoot);
}
Modified: trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
==============================================================================
--- trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.h [iso-8859-1] Sat Jun 20
17:52:28 2015
@@ -69,7 +69,7 @@
virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST * pidl);
DECLARE_REGISTRY_RESOURCEID(IDR_MYCOMPUTER)
- DECLARE_NOT_AGGREGATABLE(CDrivesFolder)
+ DECLARE_SINGLETON_NOT_AGGREGATABLE(CDrivesFolder)
DECLARE_PROTECT_FINAL_CONSTRUCT()
Modified: trunk/reactos/dll/win32/shell32/shell32.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shell32.…
==============================================================================
--- trunk/reactos/dll/win32/shell32/shell32.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/shell32.cpp [iso-8859-1] Sat Jun 20 17:52:28 2015
@@ -151,6 +151,7 @@
public:
void Term()
{
+ CComCreatorSingleton< ATL::CComObject< CDrivesFolder > >::Term();
CComCreatorSingleton< ATL::CComObject< CDesktopFolder > >::Term();
CComModule::Term();
}