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/CDrivesFolder.cpp?rev=68212&r1=68211&r2=68212&view=diff
==============================================================================
--- 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/CDrivesFolder.h?rev=68212&r1=68211&r2=68212&view=diff
==============================================================================
--- 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.cpp?rev=68212&r1=68211&r2=68212&view=diff
==============================================================================
--- 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();
     }


Reply via email to