diff --git a/minipath/minipath.vcxproj b/minipath/minipath.vcxproj
index e625fee38..0f2c18e5a 100644
--- a/minipath/minipath.vcxproj
+++ b/minipath/minipath.vcxproj
@@ -265,7 +265,7 @@
-
+
@@ -273,7 +273,7 @@
-
+
diff --git a/minipath/minipath.vcxproj.filters b/minipath/minipath.vcxproj.filters
index 0ef64d0a7..b7d5236ca 100644
--- a/minipath/minipath.vcxproj.filters
+++ b/minipath/minipath.vcxproj.filters
@@ -25,15 +25,15 @@
C/C++ Source Files
-
- C/C++ Source Files
-
C/C++ Source Files
C/C++ Source Files
+
+ C/C++ Source Files
+
@@ -42,9 +42,6 @@
H Source Files
-
- H Source Files
-
H Source Files
@@ -60,6 +57,9 @@
H Source Files
+
+ H Source Files
+
diff --git a/minipath/src/Dropsource.cpp b/minipath/src/DropSource.cpp
similarity index 74%
rename from minipath/src/Dropsource.cpp
rename to minipath/src/DropSource.cpp
index ffcc44ad5..b4661a347 100644
--- a/minipath/src/Dropsource.cpp
+++ b/minipath/src/DropSource.cpp
@@ -6,6 +6,7 @@
* Dropsource.cpp *
* OLE drop source functionality *
* Based on code from metapath, (c) Florian Balmer 1996-2011 *
+* and ZuFu Liu *
* *
* (c) Rizonesoft 2008-2016 *
* https://rizonesoft.com *
@@ -15,88 +16,70 @@
#define _WIN32_WINNT 0x601
#include
//#include
-#include "helpers.h"
-#include "dropsource.h"
-
+#include "DropSource.h"
/******************************************************************************
*
* IUnknown Implementation
*
******************************************************************************/
-STDMETHODIMP CDropSource::QueryInterface(REFIID iid, void FAR* FAR* ppv)
-{
- if (iid == IID_IUnknown || iid == IID_IDropSource)
- {
+STDMETHODIMP CDropSource::QueryInterface(REFIID iid, PVOID *ppv) noexcept {
+ if (iid == IID_IUnknown || iid == IID_IDropSource) {
*ppv = this;
- ++m_refs;
+ AddRef();
return NOERROR;
}
- *ppv = NULL;
+ *ppv = nullptr;
return E_NOINTERFACE;
}
-
-STDMETHODIMP_(ULONG) CDropSource::AddRef()
-{
+STDMETHODIMP_(ULONG) CDropSource::AddRef() noexcept {
return ++m_refs;
}
-
-STDMETHODIMP_(ULONG) CDropSource::Release()
-{
- if(--m_refs == 0)
- {
+STDMETHODIMP_(ULONG) CDropSource::Release() noexcept {
+ const ULONG refs = --m_refs;
+ if (refs == 0) {
delete this;
- return 0;
}
- return m_refs;
+ return refs;
}
-
/******************************************************************************
*
* CDropSource Constructor
*
******************************************************************************/
-CDropSource::CDropSource()
-{
+CDropSource::CDropSource() noexcept {
m_refs = 1;
}
-
/******************************************************************************
*
* IDropSource Implementation
*
******************************************************************************/
-STDMETHODIMP CDropSource::QueryContinueDrag(BOOL fEscapePressed,
- DWORD grfKeyState)
-{
- if (fEscapePressed)
+STDMETHODIMP CDropSource::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState) noexcept {
+ if (fEscapePressed) {
return DRAGDROP_S_CANCEL;
-
- else if (!(grfKeyState & MK_LBUTTON) && !(grfKeyState & MK_RBUTTON))
+ }
+ if (!(grfKeyState & MK_LBUTTON) && !(grfKeyState & MK_RBUTTON)) {
return DRAGDROP_S_DROP;
-
- else
- return NOERROR;
+ }
+ return NOERROR;
}
-
-STDMETHODIMP CDropSource::GiveFeedback(DWORD dwEffect)
-{
+STDMETHODIMP CDropSource::GiveFeedback(DWORD dwEffect) noexcept {
UNUSED(dwEffect);
return DRAGDROP_S_USEDEFAULTCURSORS;
}
-
extern "C" {
-LPDROPSOURCE CreateDropSource()
-{
+
+LPDROPSOURCE CreateDropSource(void) {
return ((LPDROPSOURCE) new CDropSource);
}
+
}
-
-// End of Dropsource.cpp
+// End of DropSource.cpp
diff --git a/minipath/src/Dropsource.h b/minipath/src/DropSource.h
similarity index 64%
rename from minipath/src/Dropsource.h
rename to minipath/src/DropSource.h
index cfdc6e226..e6f237e7d 100644
--- a/minipath/src/Dropsource.h
+++ b/minipath/src/DropSource.h
@@ -6,6 +6,7 @@
* Dropsource.h *
* OLE drop source functionality *
* Based on code from metapath, (c) Florian Balmer 1996-2011 *
+* and ZuFu Liu *
* *
* (c) Rizonesoft 2008-2016 *
* https://rizonesoft.com *
@@ -13,25 +14,28 @@
* *
*******************************************************************************/
-class FAR CDropSource : public IDropSource
-{
+#ifndef METAPATH_DROPSOURCE_H_
+#define METAPATH_DROPSOURCE_H_
+class CDropSource : public IDropSource {
public:
- CDropSource();
+ CDropSource() noexcept;
+ virtual ~CDropSource() = default;
- /* IUnknown methods */
- STDMETHOD(QueryInterface)(REFIID riid,void FAR* FAR* ppvObj);
- STDMETHOD_(ULONG,AddRef)();
- STDMETHOD_(ULONG,Release)();
+ /* IUnknown methods */
+ STDMETHODIMP QueryInterface(REFIID riid, PVOID *ppv) noexcept override;
+ STDMETHODIMP_(ULONG)AddRef() noexcept override;
+ STDMETHODIMP_(ULONG)Release() noexcept override;
- /* IDropSource methods */
- STDMETHOD(QueryContinueDrag)(BOOL fEscapePressed,DWORD grfKeyState);
- STDMETHOD(GiveFeedback)(DWORD dwEffect);
+ /* IDropSource methods */
+ STDMETHODIMP QueryContinueDrag(BOOL fEsc, DWORD grfKeyState) noexcept override;
+ STDMETHODIMP GiveFeedback(DWORD) noexcept override;
private:
- ULONG m_refs;
-
+ ULONG m_refs;
};
+#endif // METAPATH_DROPSOURCE_H_
+
// End of Dropsource.h
diff --git a/src/Version.h b/src/Version.h
index fea965114..d6aeff012 100644
Binary files a/src/Version.h and b/src/Version.h differ