[SHELL32] Use the previously implemented Typelib registration from ATL to register...
authorMark Jansen <mark.jansen@reactos.org>
Sun, 10 Apr 2016 21:32:27 +0000 (21:32 +0000)
committerMark Jansen <mark.jansen@reactos.org>
Sun, 10 Apr 2016 21:32:27 +0000 (21:32 +0000)
svn path=/trunk/; revision=71142

reactos/dll/win32/shell32/CMakeLists.txt
reactos/dll/win32/shell32/shell32.cpp
reactos/dll/win32/shell32/shell32.rc
reactos/dll/win32/shell32/shell32_shldisp.idl [new file with mode: 0644]

index 2a4f68e..10447ec 100644 (file)
@@ -91,6 +91,10 @@ add_library(shell32 SHARED
     ${CMAKE_CURRENT_BINARY_DIR}/shell32_stubs.c
     ${CMAKE_CURRENT_BINARY_DIR}/shell32.def)
 
+
+add_typelib(shell32_shldisp.idl)
+set_source_files_properties(shell32.rc PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/shell32_shldisp.tlb)
+
 set_module_type(shell32 win32dll UNICODE)
 target_link_libraries(shell32 shellmenu shelldesktop atlnew wine uuid recyclebin)
 add_delay_importlibs(shell32 uxtheme ole32 oleaut32 userenv version fmifs)
index 76c6e33..38d6e2f 100644 (file)
@@ -350,7 +350,7 @@ STDAPI DllRegisterServer()
 {
     HRESULT hr;
 
-    hr = gModule.DllRegisterServer(FALSE);
+    hr = gModule.DllRegisterServer(TRUE);
     if (FAILED(hr))
         return hr;
 
@@ -372,7 +372,7 @@ STDAPI DllUnregisterServer()
 {
     HRESULT hr;
 
-    hr = gModule.DllUnregisterServer(FALSE);
+    hr = gModule.DllUnregisterServer(TRUE);
     if (FAILED(hr))
         return hr;
 
index 3f3aa27..7ba3cdc 100644 (file)
@@ -79,6 +79,8 @@ END
 
 #include <reactos/manifest_dll.rc>
 
+1 TYPELIB "shell32_shldisp.tlb"
+
 /*
  * Everything specific to any language goes
  * in one of the specific files.
diff --git a/reactos/dll/win32/shell32/shell32_shldisp.idl b/reactos/dll/win32/shell32/shell32_shldisp.idl
new file mode 100644 (file)
index 0000000..1b910dc
--- /dev/null
@@ -0,0 +1,25 @@
+/*\r
+ * Copyright 2011 Alexandre Julliard\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA\r
+ */\r
+\r
+/* just a wrapper for shldisp.idl */\r
+\r
+#pragma makedep proxy\r
+#pragma makedep register\r
+\r
+#include "shldisp.idl"\r
+\r