Re: [Mingw-w64-public] [PATCH 2/6] dwrite.h: Don't duplicate parent interface methods for C++ because it breaks templated QueryInterface implementation and fixed IDWriteFontFileEnumerator declaration.

2014-08-19 Thread Kai Tietz
Yes, wasn't at that file ...  patch is ok.

Please apply.

Thanks,
Kai

2014-08-19 14:04 GMT+02:00 Jacek Caban :
> It came out that we need to not duplicate QueryInterface in child
> interface declarations, because they shadow its templated inline variant.
>
> ---
>  mingw-w64-headers/include/dwrite.h | 59
> --
>  1 file changed, 57 insertions(+), 2 deletions(-)
>
>
>
> --
>
> ___
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>

--
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


[Mingw-w64-public] [PATCH 2/6] dwrite.h: Don't duplicate parent interface methods for C++ because it breaks templated QueryInterface implementation and fixed IDWriteFontFileEnumerator declaration.

2014-08-19 Thread Jacek Caban
It came out that we need to not duplicate QueryInterface in child
interface declarations, because they shadow its templated inline variant.

---
 mingw-w64-headers/include/dwrite.h | 59
--
 1 file changed, 57 insertions(+), 2 deletions(-)


diff --git a/mingw-w64-headers/include/dwrite.h b/mingw-w64-headers/include/dwrite.h
index df35bbd..3267977 100644
--- a/mingw-w64-headers/include/dwrite.h
+++ b/mingw-w64-headers/include/dwrite.h
@@ -614,10 +614,12 @@ DECLARE_INTERFACE_(IDWriteBitmapRenderTarget,IUnknown)
 {
 BEGIN_INTERFACE
 
+#ifndef __cplusplus
 /* IUnknown methods */
 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
 STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
 
 /* IDWriteBitmapRenderTarget methods */
 STDMETHOD(DrawGlyphRun)(THIS_
@@ -670,10 +672,12 @@ DECLARE_INTERFACE_(IDWriteFactory,IUnknown)
 {
 BEGIN_INTERFACE
 
+#ifndef __cplusplus
 /* IUnknown methods */
 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
 STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
 
 /* IDWriteFactory methods */
 STDMETHOD(GetSystemFontCollection)(THIS_
@@ -825,10 +829,12 @@ DECLARE_INTERFACE_(IDWriteFont,IUnknown)
 {
 BEGIN_INTERFACE
 
+#ifndef __cplusplus
 /* IUnknown methods */
 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
 STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
 
 /* IDWriteFont methods */
 STDMETHOD(GetFontFamily)(THIS_
@@ -884,10 +890,12 @@ DECLARE_INTERFACE_(IDWriteFontCollection,IUnknown)
 {
 BEGIN_INTERFACE
 
+#ifndef __cplusplus
 /* IUnknown methods */
 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
 STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
 
 /* IDWriteFontCollection methods */
 STDMETHOD_(UINT32, GetFontFamilyCount)(THIS) PURE;
@@ -923,10 +931,12 @@ DECLARE_INTERFACE_(IDWriteFontFace,IUnknown)
 {
 BEGIN_INTERFACE
 
+#ifndef __cplusplus
 /* IUnknown methods */
 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
 STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
 
 /* IDWriteFontFace methods */
 STDMETHOD_(DWRITE_FONT_FACE_TYPE, GetType)(THIS) PURE;
@@ -1028,10 +1038,12 @@ DECLARE_INTERFACE_(IDWriteFontList,IUnknown)
 {
 BEGIN_INTERFACE
 
+#ifndef __cplusplus
 /* IUnknown methods */
 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
 STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
 
 /* IDWriteFontList methods */
 STDMETHOD(GetFontCollection)(THIS_
@@ -1060,6 +1072,7 @@ DECLARE_INTERFACE_(IDWriteFontFamily,IDWriteFontList)
 {
 BEGIN_INTERFACE
 
+#ifndef __cplusplus
 /* IUnknown methods */
 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
@@ -1074,6 +1087,7 @@ DECLARE_INTERFACE_(IDWriteFontFamily,IDWriteFontList)
 STDMETHOD(GetFont)(THIS_
 UINT32 index,
 IDWriteFont **font) PURE;
+#endif
 
 /* IDWriteFontFamily methods */
 STDMETHOD(GetFamilyNames)(THIS_
@@ -,10 +1125,12 @@ DECLARE_INTERFACE_(IDWriteFontFile,IUnknown)
 {
 BEGIN_INTERFACE
 
+#ifndef __cplusplus
 /* IUnknown methods */
 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
 STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
 
 /* IDWriteFontFile methods */
 STDMETHOD(GetReferenceKey)(THIS_
@@ -1147,10 +1163,12 @@ DECLARE_INTERFACE_(IDWriteFontFileLoader,IUnknown)
 {
 BEGIN_INTERFACE
 
+#ifndef __cplusplus
 /* IUnknown methods */
 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
 STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
 
 /* IDWriteFontFileLoader methods */
 STDMETHOD(CreateStreamFromKey)(
@@ -1173,10 +1191,12 @@ DECLARE_INTERFACE_(IDWriteFontFileStream,IUnknown)
 {
 BEGIN_INTERFACE
 
+#ifndef __cplusplus
 /* IUnknown methods */
 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
 STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
 
 /* IDWriteFontFileStream methods */
 STDMETHOD(ReadFileFragment)(THIS_
@@ -1212,10 +1232,12 @@ DECLARE_INTERFACE_(IDWriteFontCollectionLoader,IUnknown)
 {
 BEGIN_INTERFACE
 
+#ifndef __cplusplus
 /* IUnknown methods */
 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
 STDMETHOD_(ULONG, Release)(THIS) PURE;
+#endif
 
 /* IDWriteFontCollectionLoader methods */
 STDMETHOD_(HRESULT,CreateEnumeratorFromKey)(THIS_ IDWrite