Author: tfaber
Date: Sun Jun 21 05:21:30 2015
New Revision: 68218

URL: http://svn.reactos.org/svn/reactos?rev=68218&view=rev
Log:
[SHELL32]
- Finally give up on that assert. It's not easily fixable
CORE-9839 or CORE-9844 or CORE-9845 or whatever

Modified:
    trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp
    trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp
    trunk/reactos/include/reactos/shellutils.h

Modified: trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp?rev=68218&r1=68217&r2=68218&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp  [iso-8859-1] 
(original)
+++ trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp  [iso-8859-1] 
Sun Jun 21 05:21:30 2015
@@ -287,7 +287,6 @@
 
 CDesktopFolder::~CDesktopFolder()
 {
-    ASSERT(_CreatorClass::IsTerminated());
 }
 
 HRESULT WINAPI CDesktopFolder::FinalConstruct()

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=68218&r1=68217&r2=68218&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] 
Sun Jun 21 05:21:30 2015
@@ -161,7 +161,6 @@
 CDrivesFolder::~CDrivesFolder()
 {
     TRACE ("-- destroying IShellFolder(%p)\n", this);
-    ASSERT(_CreatorClass::IsTerminated());
     SHFree(pidlRoot);
 }
 

Modified: trunk/reactos/include/reactos/shellutils.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/shellutils.h?rev=68218&r1=68217&r2=68218&view=diff
==============================================================================
--- trunk/reactos/include/reactos/shellutils.h  [iso-8859-1] (original)
+++ trunk/reactos/include/reactos/shellutils.h  [iso-8859-1] Sun Jun 21 
05:21:30 2015
@@ -47,7 +47,6 @@
 {
 private:
     static IUnknown *s_pInstance;
-    static bool s_IsTerminated;
 
 public:
     static HRESULT WINAPI CreateInstance(void *pv, REFIID riid, LPVOID *ppv)
@@ -59,26 +58,17 @@
         {
             PVOID pObj;
             HRESULT hr;
-            s_IsTerminated = true;
             hr = ATL::CComCreator< T >::CreateInstance(NULL, IID_IUnknown, 
&pObj);
             if (FAILED(hr))
-            {
-                s_IsTerminated = false;
                 return hr;
-            }
             if (InterlockedCompareExchangePointer((PVOID *)&s_pInstance, pObj, 
NULL))
                 static_cast<IUnknown *>(pObj)->Release();
-            s_IsTerminated = false;
         }
         return s_pInstance->QueryInterface(riid, ppv);
     }
     static void Term()
     {
         ULONG ref;
-#ifdef ASSERT
-        ASSERT(!s_IsTerminated);
-#endif
-        s_IsTerminated = true;
         if (s_pInstance)
         {
             ref = s_pInstance->Release();
@@ -88,16 +78,12 @@
             s_pInstance = NULL;
         }
     }
-    static bool IsTerminated() { return s_IsTerminated; }
 };
 
 template <typename T>
 IUnknown *CComCreatorCentralInstance<T>::s_pInstance = NULL;
 
-template <typename T>
-bool CComCreatorCentralInstance<T>::s_IsTerminated = false;
-
-#define DECLARE_CENTRAL_INSTANCE_NOT_AGGREGATABLE(x)                           
     \
+#define DECLARE_CENTRAL_INSTANCE_NOT_AGGREGATABLE(x)                           
 \
 public:                                                                        
 \
     typedef CComCreatorCentralInstance< ATL::CComObject<x> > _CreatorClass;
 #endif


Reply via email to