aboutsummaryrefslogtreecommitdiff
path: root/PC
diff options
context:
space:
mode:
authorNikita Nemkin <nikita@nemkin.ru>2020-06-24 04:32:23 +0500
committerGitHub <noreply@github.com>2020-06-24 00:32:23 +0100
commitbbf36e8903f8e86dcad8131c818e122537c30f9e (patch)
tree5035803018a68426c52c73a21f2a2abea41659f4 /PC
parentbpo-40521: Optimize PyUnicode_New(0, maxchar) (GH-21099) (diff)
downloadcpython-bbf36e8903f8e86dcad8131c818e122537c30f9e.tar.gz
cpython-bbf36e8903f8e86dcad8131c818e122537c30f9e.tar.bz2
cpython-bbf36e8903f8e86dcad8131c818e122537c30f9e.zip
bpo-41070: Simplify pyshellext.dll build (GH-21037)
Replace MIDL-generated file with manual GUID definition. Use the same .def file for release and debug builds. Update setup build to support latest toolset
Diffstat (limited to 'PC')
-rw-r--r--PC/pyshellext.cpp10
-rw-r--r--PC/pyshellext.def1
-rw-r--r--PC/pyshellext.idl12
-rw-r--r--PC/pyshellext_d.def6
4 files changed, 4 insertions, 25 deletions
diff --git a/PC/pyshellext.cpp b/PC/pyshellext.cpp
index 019880264be..ffca169857c 100644
--- a/PC/pyshellext.cpp
+++ b/PC/pyshellext.cpp
@@ -12,15 +12,14 @@
#include <olectl.h>
#include <strsafe.h>
-#include "pyshellext_h.h"
-
#define DDWM_UPDATEWINDOW (WM_USER+3)
static HINSTANCE hModule;
static CLIPFORMAT cfDropDescription;
static CLIPFORMAT cfDragWindow;
-static const LPCWSTR CLASS_SUBKEY = L"Software\\Classes\\CLSID\\{BEA218D2-6950-497B-9434-61683EC065FE}";
+#define CLASS_GUID "{BEA218D2-6950-497B-9434-61683EC065FE}"
+static const LPCWSTR CLASS_SUBKEY = L"Software\\Classes\\CLSID\\" CLASS_GUID;
static const LPCWSTR DRAG_MESSAGE = L"Open with %1";
using namespace Microsoft::WRL;
@@ -121,8 +120,7 @@ HRESULT FilenameListCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, LPCWSTR psz
return hr;
}
-
-class PyShellExt : public RuntimeClass<
+class DECLSPEC_UUID(CLASS_GUID) PyShellExt : public RuntimeClass<
RuntimeClassFlags<ClassicCom>,
IDropTarget,
IPersistFile
@@ -483,7 +481,7 @@ public:
}
STDMETHODIMP GetClassID(CLSID *pClassID) {
- *pClassID = CLSID_PyShellExt;
+ *pClassID = __uuidof(PyShellExt);
return S_OK;
}
};
diff --git a/PC/pyshellext.def b/PC/pyshellext.def
index 5424bd1180d..288a9adf982 100644
--- a/PC/pyshellext.def
+++ b/PC/pyshellext.def
@@ -1,4 +1,3 @@
-LIBRARY "pyshellext"
EXPORTS
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE
diff --git a/PC/pyshellext.idl b/PC/pyshellext.idl
deleted file mode 100644
index c0a183876ad..00000000000
--- a/PC/pyshellext.idl
+++ /dev/null
@@ -1,12 +0,0 @@
-import "ocidl.idl";
-
-[uuid(44039A76-3BDD-41C1-A31B-71C00202CE81), version(1.0)]
-library PyShellExtLib
-{
- [uuid(BEA218D2-6950-497B-9434-61683EC065FE), version(1.0)]
- coclass PyShellExt
- {
- [default] interface IDropTarget;
- interface IPersistFile;
- }
-}; \ No newline at end of file
diff --git a/PC/pyshellext_d.def b/PC/pyshellext_d.def
deleted file mode 100644
index 7d2148bb861..00000000000
--- a/PC/pyshellext_d.def
+++ /dev/null
@@ -1,6 +0,0 @@
-LIBRARY "pyshellext_d"
-EXPORTS
- DllRegisterServer PRIVATE
- DllUnregisterServer PRIVATE
- DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE