mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Added multiple patches to avoid implicit cast of interface pointers.
This commit is contained in:
parent
7a99b50694
commit
a3f00d208e
@ -0,0 +1,26 @@
|
||||
From de9dbd542143b13741886c3e4b9f96ffcbfaa432 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 16 Mar 2016 05:46:33 +0100
|
||||
Subject: dsound: Avoid implicit cast of interface pointer.
|
||||
|
||||
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
|
||||
---
|
||||
dlls/dsound/primary.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/dsound/primary.c b/dlls/dsound/primary.c
|
||||
index 3f8a478..6f280f8 100644
|
||||
--- a/dlls/dsound/primary.c
|
||||
+++ b/dlls/dsound/primary.c
|
||||
@@ -626,7 +626,7 @@ out:
|
||||
static inline IDirectSoundBufferImpl *impl_from_IDirectSoundBuffer(IDirectSoundBuffer *iface)
|
||||
{
|
||||
/* IDirectSoundBuffer and IDirectSoundBuffer8 use the same iface. */
|
||||
- return CONTAINING_RECORD(iface, IDirectSoundBufferImpl, IDirectSoundBuffer8_iface);
|
||||
+ return CONTAINING_RECORD((IDirectSoundBuffer8 *)iface, IDirectSoundBufferImpl, IDirectSoundBuffer8_iface);
|
||||
}
|
||||
|
||||
/* This sets this format for the primary buffer only */
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 83d96cdd81553544c79527c2aed329e96938af64 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 21:54:01 +0100
|
||||
Subject: amstream: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/amstream/mediastreamfilter.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/amstream/mediastreamfilter.c b/dlls/amstream/mediastreamfilter.c
|
||||
index d0c6714..3f0397a 100644
|
||||
--- a/dlls/amstream/mediastreamfilter.c
|
||||
+++ b/dlls/amstream/mediastreamfilter.c
|
||||
@@ -70,7 +70,7 @@ typedef struct {
|
||||
|
||||
static inline IMediaStreamFilterImpl *impl_from_IMediaStreamFilter(IMediaStreamFilter *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, IMediaStreamFilterImpl, filter);
|
||||
+ return CONTAINING_RECORD((IBaseFilter *)iface, IMediaStreamFilterImpl, filter.IBaseFilter_iface);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI BasePinImpl_CheckMediaType(BasePin *This, const AM_MEDIA_TYPE *pmt)
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,75 @@
|
||||
From 929eaf5dcdca040cd82141ad5ddfdcbc6c5f4a03 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 21:54:26 +0100
|
||||
Subject: d2d1: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/d2d1/brush.c | 6 +++---
|
||||
dlls/d2d1/geometry.c | 6 +++---
|
||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/d2d1/brush.c b/dlls/d2d1/brush.c
|
||||
index aa92318..19b0993 100644
|
||||
--- a/dlls/d2d1/brush.c
|
||||
+++ b/dlls/d2d1/brush.c
|
||||
@@ -181,7 +181,7 @@ static void d2d_brush_init(struct d2d_brush *brush, ID2D1Factory *factory,
|
||||
|
||||
static inline struct d2d_brush *impl_from_ID2D1SolidColorBrush(ID2D1SolidColorBrush *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_brush, ID2D1Brush_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Brush *)iface, struct d2d_brush, ID2D1Brush_iface);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_solid_color_brush_QueryInterface(ID2D1SolidColorBrush *iface,
|
||||
@@ -318,7 +318,7 @@ void d2d_solid_color_brush_init(struct d2d_brush *brush, ID2D1Factory *factory,
|
||||
|
||||
static inline struct d2d_brush *impl_from_ID2D1LinearGradientBrush(ID2D1LinearGradientBrush *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_brush, ID2D1Brush_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Brush *)iface, struct d2d_brush, ID2D1Brush_iface);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_linear_gradient_brush_QueryInterface(ID2D1LinearGradientBrush *iface,
|
||||
@@ -476,7 +476,7 @@ void d2d_linear_gradient_brush_init(struct d2d_brush *brush, ID2D1Factory *facto
|
||||
|
||||
static inline struct d2d_brush *impl_from_ID2D1BitmapBrush(ID2D1BitmapBrush *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_brush, ID2D1Brush_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Brush *)iface, struct d2d_brush, ID2D1Brush_iface);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_bitmap_brush_QueryInterface(ID2D1BitmapBrush *iface,
|
||||
diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c
|
||||
index 9fa1783..125c610 100644
|
||||
--- a/dlls/d2d1/geometry.c
|
||||
+++ b/dlls/d2d1/geometry.c
|
||||
@@ -2022,7 +2022,7 @@ static const struct ID2D1GeometrySinkVtbl d2d_geometry_sink_vtbl =
|
||||
|
||||
static inline struct d2d_geometry *impl_from_ID2D1PathGeometry(ID2D1PathGeometry *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Geometry *)iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_path_geometry_QueryInterface(ID2D1PathGeometry *iface, REFIID iid, void **out)
|
||||
@@ -2283,7 +2283,7 @@ void d2d_path_geometry_init(struct d2d_geometry *geometry, ID2D1Factory *factory
|
||||
|
||||
static inline struct d2d_geometry *impl_from_ID2D1RectangleGeometry(ID2D1RectangleGeometry *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Geometry *)iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_rectangle_geometry_QueryInterface(ID2D1RectangleGeometry *iface,
|
||||
@@ -2531,7 +2531,7 @@ HRESULT d2d_rectangle_geometry_init(struct d2d_geometry *geometry, ID2D1Factory
|
||||
|
||||
static inline struct d2d_geometry *impl_from_ID2D1TransformedGeometry(ID2D1TransformedGeometry *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Geometry *)iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_transformed_geometry_QueryInterface(ID2D1TransformedGeometry *iface,
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,23 @@
|
||||
From 71e593294e868bafa0b0b45c2694d7c0dceb0d64 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 21:54:48 +0100
|
||||
Subject: d3d11: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/d3d11/view.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3d11/view.c b/dlls/d3d11/view.c
|
||||
index 1d9b766..78fc1ad 100644
|
||||
--- a/dlls/d3d11/view.c
|
||||
+++ b/dlls/d3d11/view.c
|
||||
@@ -1559,5 +1559,5 @@ struct d3d_shader_resource_view *unsafe_impl_from_ID3D10ShaderResourceView(ID3D1
|
||||
if (!iface)
|
||||
return NULL;
|
||||
assert(iface->lpVtbl == (ID3D10ShaderResourceViewVtbl *)&d3d10_shader_resource_view_vtbl);
|
||||
- return CONTAINING_RECORD(iface, struct d3d_shader_resource_view, ID3D10ShaderResourceView1_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10ShaderResourceView1 *)iface, struct d3d_shader_resource_view, ID3D10ShaderResourceView1_iface);
|
||||
}
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,37 @@
|
||||
From 0913c58ca5a15868fa72c883d46db1f0038a2e22 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 21:55:00 +0100
|
||||
Subject: d3d8: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/d3d8/texture.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d8/texture.c b/dlls/d3d8/texture.c
|
||||
index 7ed79a5..62463ba 100644
|
||||
--- a/dlls/d3d8/texture.c
|
||||
+++ b/dlls/d3d8/texture.c
|
||||
@@ -23,17 +23,17 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d8);
|
||||
|
||||
static inline struct d3d8_texture *impl_from_IDirect3DTexture8(IDirect3DTexture8 *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d8_texture, IDirect3DBaseTexture8_iface);
|
||||
+ return CONTAINING_RECORD((IDirect3DBaseTexture8 *)iface, struct d3d8_texture, IDirect3DBaseTexture8_iface);
|
||||
}
|
||||
|
||||
static inline struct d3d8_texture *impl_from_IDirect3DCubeTexture8(IDirect3DCubeTexture8 *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d8_texture, IDirect3DBaseTexture8_iface);
|
||||
+ return CONTAINING_RECORD((IDirect3DBaseTexture8 *)iface, struct d3d8_texture, IDirect3DBaseTexture8_iface);
|
||||
}
|
||||
|
||||
static inline struct d3d8_texture *impl_from_IDirect3DVolumeTexture8(IDirect3DVolumeTexture8 *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d8_texture, IDirect3DBaseTexture8_iface);
|
||||
+ return CONTAINING_RECORD((IDirect3DBaseTexture8 *)iface, struct d3d8_texture, IDirect3DBaseTexture8_iface);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3d8_texture_2d_QueryInterface(IDirect3DTexture8 *iface, REFIID riid, void **out)
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,37 @@
|
||||
From cd3c63b259a711abf4e6e06f975e47f82b5b3e1b Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 21:55:12 +0100
|
||||
Subject: d3d9: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/d3d9/texture.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d9/texture.c b/dlls/d3d9/texture.c
|
||||
index 07bd83e..4e50093 100644
|
||||
--- a/dlls/d3d9/texture.c
|
||||
+++ b/dlls/d3d9/texture.c
|
||||
@@ -25,17 +25,17 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d9);
|
||||
|
||||
static inline struct d3d9_texture *impl_from_IDirect3DTexture9(IDirect3DTexture9 *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d9_texture, IDirect3DBaseTexture9_iface);
|
||||
+ return CONTAINING_RECORD((IDirect3DBaseTexture9 *)iface, struct d3d9_texture, IDirect3DBaseTexture9_iface);
|
||||
}
|
||||
|
||||
static inline struct d3d9_texture *impl_from_IDirect3DCubeTexture9(IDirect3DCubeTexture9 *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d9_texture, IDirect3DBaseTexture9_iface);
|
||||
+ return CONTAINING_RECORD((IDirect3DBaseTexture9 *)iface, struct d3d9_texture, IDirect3DBaseTexture9_iface);
|
||||
}
|
||||
|
||||
static inline struct d3d9_texture *impl_from_IDirect3DVolumeTexture9(IDirect3DVolumeTexture9 *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d9_texture, IDirect3DBaseTexture9_iface);
|
||||
+ return CONTAINING_RECORD((IDirect3DBaseTexture9 *)iface, struct d3d9_texture, IDirect3DBaseTexture9_iface);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3d9_texture_2d_QueryInterface(IDirect3DTexture9 *iface, REFIID riid, void **out)
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,34 @@
|
||||
From ff2e84fd4c6c12b5e9e6c9d793b71159295b1e01 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 21:58:30 +0100
|
||||
Subject: ddraw: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/ddraw/viewport.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/ddraw/viewport.c b/dlls/ddraw/viewport.c
|
||||
index 5ebc41e..4f61d10 100644
|
||||
--- a/dlls/ddraw/viewport.c
|
||||
+++ b/dlls/ddraw/viewport.c
|
||||
@@ -1121,7 +1121,7 @@ struct d3d_viewport *unsafe_impl_from_IDirect3DViewport2(IDirect3DViewport2 *ifa
|
||||
/* IDirect3DViewport and IDirect3DViewport3 use the same iface. */
|
||||
if (!iface) return NULL;
|
||||
assert(iface->lpVtbl == (IDirect3DViewport2Vtbl *)&d3d_viewport_vtbl);
|
||||
- return CONTAINING_RECORD(iface, struct d3d_viewport, IDirect3DViewport3_iface);
|
||||
+ return CONTAINING_RECORD((IDirect3DViewport3 *)iface, struct d3d_viewport, IDirect3DViewport3_iface);
|
||||
}
|
||||
|
||||
struct d3d_viewport *unsafe_impl_from_IDirect3DViewport(IDirect3DViewport *iface)
|
||||
@@ -1129,7 +1129,7 @@ struct d3d_viewport *unsafe_impl_from_IDirect3DViewport(IDirect3DViewport *iface
|
||||
/* IDirect3DViewport and IDirect3DViewport3 use the same iface. */
|
||||
if (!iface) return NULL;
|
||||
assert(iface->lpVtbl == (IDirect3DViewportVtbl *)&d3d_viewport_vtbl);
|
||||
- return CONTAINING_RECORD(iface, struct d3d_viewport, IDirect3DViewport3_iface);
|
||||
+ return CONTAINING_RECORD((IDirect3DViewport3 *)iface, struct d3d_viewport, IDirect3DViewport3_iface);
|
||||
}
|
||||
|
||||
void d3d_viewport_init(struct d3d_viewport *viewport, struct ddraw *ddraw)
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 869fbc7190eb77e027be4bcd98d938198189c3dd Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 21:58:40 +0100
|
||||
Subject: dwrite: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/dwrite/layout.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
|
||||
index 38b5e32..24f4abc 100644
|
||||
--- a/dlls/dwrite/layout.c
|
||||
+++ b/dlls/dwrite/layout.c
|
||||
@@ -5115,7 +5115,7 @@ static const IDWriteTextFormat2Vtbl dwritetextformatvtbl = {
|
||||
static struct dwrite_textformat *unsafe_impl_from_IDWriteTextFormat(IDWriteTextFormat *iface)
|
||||
{
|
||||
return (iface->lpVtbl == (IDWriteTextFormatVtbl*)&dwritetextformatvtbl) ?
|
||||
- CONTAINING_RECORD(iface, struct dwrite_textformat, IDWriteTextFormat2_iface) : NULL;
|
||||
+ CONTAINING_RECORD((IDWriteTextFormat2 *)iface, struct dwrite_textformat, IDWriteTextFormat2_iface) : NULL;
|
||||
}
|
||||
|
||||
HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style,
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 665373effeadbf44f75dd15b6ea27ebec0fd7190 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 22:28:09 +0100
|
||||
Subject: msxml3: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/msxml3/schema.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/msxml3/schema.c b/dlls/msxml3/schema.c
|
||||
index f92130a..03d24b2 100644
|
||||
--- a/dlls/msxml3/schema.c
|
||||
+++ b/dlls/msxml3/schema.c
|
||||
@@ -809,7 +809,7 @@ static inline schema_cache* impl_from_IXMLDOMSchemaCollection2(IXMLDOMSchemaColl
|
||||
|
||||
static inline schema_cache* impl_from_IXMLDOMSchemaCollection(IXMLDOMSchemaCollection* iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, schema_cache, IXMLDOMSchemaCollection2_iface);
|
||||
+ return CONTAINING_RECORD((IXMLDOMSchemaCollection2 *)iface, schema_cache, IXMLDOMSchemaCollection2_iface);
|
||||
}
|
||||
|
||||
static inline schema_cache* unsafe_impl_from_IXMLDOMSchemaCollection(IXMLDOMSchemaCollection *iface)
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 60ab37cc3ba6cb771fccc187ea87b669ac83dc80 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 22:28:23 +0100
|
||||
Subject: oleaut32: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/oleaut32/oleaut.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/oleaut32/oleaut.c b/dlls/oleaut32/oleaut.c
|
||||
index 742e63f..8dae150 100644
|
||||
--- a/dlls/oleaut32/oleaut.c
|
||||
+++ b/dlls/oleaut32/oleaut.c
|
||||
@@ -117,7 +117,7 @@ static inline size_t bstr_alloc_size(size_t size)
|
||||
|
||||
static inline bstr_t *bstr_from_str(BSTR str)
|
||||
{
|
||||
- return CONTAINING_RECORD(str, bstr_t, u.str);
|
||||
+ return CONTAINING_RECORD((void *)str, bstr_t, u.str);
|
||||
}
|
||||
|
||||
static inline bstr_cache_entry_t *get_cache_entry_from_idx(unsigned cache_idx)
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,39 @@
|
||||
From afaa960b059c2e6bf75635c4e2d96be774ece41a Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 22:45:29 +0100
|
||||
Subject: quartz: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/quartz/acmwrapper.c | 2 +-
|
||||
dlls/quartz/avidec.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/quartz/acmwrapper.c b/dlls/quartz/acmwrapper.c
|
||||
index d9a94a9..3c1c7cf 100644
|
||||
--- a/dlls/quartz/acmwrapper.c
|
||||
+++ b/dlls/quartz/acmwrapper.c
|
||||
@@ -55,7 +55,7 @@ static const IBaseFilterVtbl ACMWrapper_Vtbl;
|
||||
|
||||
static inline ACMWrapperImpl *impl_from_TransformFilter( TransformFilter *iface )
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, ACMWrapperImpl, tf.filter);
|
||||
+ return CONTAINING_RECORD(iface, ACMWrapperImpl, tf);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ACMWrapper_Receive(TransformFilter *tf, IMediaSample *pSample)
|
||||
diff --git a/dlls/quartz/avidec.c b/dlls/quartz/avidec.c
|
||||
index 1a58844..eb9b223 100644
|
||||
--- a/dlls/quartz/avidec.c
|
||||
+++ b/dlls/quartz/avidec.c
|
||||
@@ -54,7 +54,7 @@ static const IBaseFilterVtbl AVIDec_Vtbl;
|
||||
|
||||
static inline AVIDecImpl *impl_from_TransformFilter( TransformFilter *iface )
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, AVIDecImpl, tf.filter);
|
||||
+ return CONTAINING_RECORD(iface, AVIDecImpl, tf);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AVIDec_StartStreaming(TransformFilter* pTransformFilter)
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,25 @@
|
||||
From e35d665256d08ebccee30361867ba57f790d519f Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 23:01:32 +0100
|
||||
Subject: rpcrt4: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/rpcrt4/cstub.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/rpcrt4/cstub.c b/dlls/rpcrt4/cstub.c
|
||||
index 838ed03..992c235 100644
|
||||
--- a/dlls/rpcrt4/cstub.c
|
||||
+++ b/dlls/rpcrt4/cstub.c
|
||||
@@ -59,7 +59,7 @@ typedef struct
|
||||
|
||||
static inline cstdstubbuffer_delegating_t *impl_from_delegating( IRpcStubBuffer *iface )
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, cstdstubbuffer_delegating_t, stub_buffer);
|
||||
+ return CONTAINING_RECORD((void *)iface, cstdstubbuffer_delegating_t, stub_buffer);
|
||||
}
|
||||
|
||||
HRESULT CStdStubBuffer_Construct(REFIID riid,
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 1806798cf9b186d2c788f5a94074d0d6fa426f9e Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 23:01:48 +0100
|
||||
Subject: vbscript: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/vbscript/vbdisp.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/vbscript/vbdisp.c b/dlls/vbscript/vbdisp.c
|
||||
index 9c0c4c1..daed7ec 100644
|
||||
--- a/dlls/vbscript/vbdisp.c
|
||||
+++ b/dlls/vbscript/vbdisp.c
|
||||
@@ -555,7 +555,7 @@ static IDispatchExVtbl DispatchExVtbl = {
|
||||
static inline vbdisp_t *unsafe_impl_from_IDispatch(IDispatch *iface)
|
||||
{
|
||||
return iface->lpVtbl == (IDispatchVtbl*)&DispatchExVtbl
|
||||
- ? CONTAINING_RECORD(iface, vbdisp_t, IDispatchEx_iface)
|
||||
+ ? CONTAINING_RECORD((IDispatchEx *)iface, vbdisp_t, IDispatchEx_iface)
|
||||
: NULL;
|
||||
}
|
||||
|
||||
--
|
||||
2.7.1
|
||||
|
@ -0,0 +1,78 @@
|
||||
From a273dda8bac492d1b04ba3b325599d7a3c5330b2 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 23:08:30 +0100
|
||||
Subject: include: Check element type in CONTAINING_RECORD and similar macros.
|
||||
|
||||
---
|
||||
include/wine/list.h | 10 ++++++++--
|
||||
include/wine/rbtree.h | 12 ++++++++++--
|
||||
include/winnt.h | 10 ++++++++--
|
||||
3 files changed, 26 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/wine/list.h b/include/wine/list.h
|
||||
index b4d681f..287ad39 100644
|
||||
--- a/include/wine/list.h
|
||||
+++ b/include/wine/list.h
|
||||
@@ -228,7 +228,13 @@ static inline void list_move_head( struct list *dst, struct list *src )
|
||||
|
||||
/* get pointer to object containing list element */
|
||||
#undef LIST_ENTRY
|
||||
-#define LIST_ENTRY(elem, type, field) \
|
||||
- ((type *)((char *)(elem) - offsetof(type, field)))
|
||||
+#ifdef __GNUC__
|
||||
+# define LIST_ENTRY(elem, type, field) ({ \
|
||||
+ const typeof(((type *)0)->field) *__ptr = (elem); \
|
||||
+ (type *)((char *)__ptr - offsetof(type, field)); })
|
||||
+#else
|
||||
+# define LIST_ENTRY(elem, type, field) \
|
||||
+ ((type *)((char *)(elem) - offsetof(type, field)))
|
||||
+#endif
|
||||
|
||||
#endif /* __WINE_SERVER_LIST_H */
|
||||
diff --git a/include/wine/rbtree.h b/include/wine/rbtree.h
|
||||
index 13452d9..a5a1cdd 100644
|
||||
--- a/include/wine/rbtree.h
|
||||
+++ b/include/wine/rbtree.h
|
||||
@@ -22,8 +22,16 @@
|
||||
#ifndef __WINE_WINE_RBTREE_H
|
||||
#define __WINE_WINE_RBTREE_H
|
||||
|
||||
-#define WINE_RB_ENTRY_VALUE(element, type, field) \
|
||||
- ((type *)((char *)(element) - offsetof(type, field)))
|
||||
+#ifdef __GNUC__
|
||||
+# define WINE_RB_ENTRY_VALUE(element, type, field) ({ \
|
||||
+ const typeof(((type *)0)->field) *__ptr = (element); \
|
||||
+ (type *)((char *)__ptr - offsetof(type, field)); })
|
||||
+#else
|
||||
+# define WINE_RB_ENTRY_VALUE(element, type, field) \
|
||||
+ ((type *)((char *)(element) - offsetof(type, field)))
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
|
||||
struct wine_rb_entry
|
||||
{
|
||||
diff --git a/include/winnt.h b/include/winnt.h
|
||||
index 559a719..4a711f4 100644
|
||||
--- a/include/winnt.h
|
||||
+++ b/include/winnt.h
|
||||
@@ -753,8 +753,14 @@ typedef struct _MEMORY_BASIC_INFORMATION
|
||||
|
||||
#define FIELD_OFFSET(type, field) ((LONG)offsetof(type, field))
|
||||
|
||||
-#define CONTAINING_RECORD(address, type, field) \
|
||||
- ((type *)((PCHAR)(address) - offsetof(type, field)))
|
||||
+#ifdef __GNUC__
|
||||
+# define CONTAINING_RECORD(address, type, field) ({ \
|
||||
+ const typeof(((type *)0)->field) *__ptr = (address); \
|
||||
+ (type *)((PCHAR)__ptr - offsetof(type, field)); })
|
||||
+#else
|
||||
+# define CONTAINING_RECORD(address, type, field) \
|
||||
+ ((type *)((PCHAR)(address) - offsetof(type, field)))
|
||||
+#endif
|
||||
|
||||
/* Types */
|
||||
|
||||
--
|
||||
2.7.1
|
||||
|
@ -2378,13 +2378,44 @@ fi
|
||||
# Patchset Compiler_Warnings
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/d3d9/tests/visual.c, dlls/netapi32/netapi32.c, dlls/winealsa.drv/mmdevdrv.c, dlls/wined3d/glsl_shader.c,
|
||||
# | tools/makedep.c
|
||||
# | * dlls/amstream/mediastreamfilter.c, dlls/d2d1/brush.c, dlls/d2d1/geometry.c, dlls/d3d11/view.c, dlls/d3d8/texture.c,
|
||||
# | dlls/d3d9/tests/visual.c, dlls/d3d9/texture.c, dlls/ddraw/viewport.c, dlls/dsound/primary.c, dlls/dwrite/layout.c,
|
||||
# | dlls/msxml3/schema.c, dlls/netapi32/netapi32.c, dlls/oleaut32/oleaut.c, dlls/quartz/acmwrapper.c, dlls/quartz/avidec.c,
|
||||
# | dlls/rpcrt4/cstub.c, dlls/vbscript/vbdisp.c, dlls/winealsa.drv/mmdevdrv.c, dlls/wined3d/glsl_shader.c,
|
||||
# | include/wine/list.h, include/wine/rbtree.h, include/winnt.h, tools/makedep.c
|
||||
# |
|
||||
if test "$enable_Compiler_Warnings" -eq 1; then
|
||||
patch_apply Compiler_Warnings/0001-Appease-the-blessed-version-of-gcc-4.5-when-Werror-i.patch
|
||||
patch_apply Compiler_Warnings/0002-dsound-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0003-amstream-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0004-d2d1-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0005-d3d11-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0006-d3d8-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0007-d3d9-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0008-ddraw-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0009-dwrite-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0010-msxml3-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0011-oleaut32-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0012-quartz-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0013-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0014-vbscript-Avoid-implicit-cast-of-interface-pointer.patch
|
||||
patch_apply Compiler_Warnings/0015-include-Check-element-type-in-CONTAINING_RECORD-and-.patch
|
||||
(
|
||||
echo '+ { "Erich E. Hoover", "Appease the blessed version of gcc (4.5) when -Werror is enabled.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "dsound: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "amstream: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "d2d1: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "d3d11: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "d3d8: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "d3d9: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "ddraw: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "dwrite: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "msxml3: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "oleaut32: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "quartz: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "rpcrt4: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "vbscript: Avoid implicit cast of interface pointer.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "include: Check element type in CONTAINING_RECORD and similar macros.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user