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