You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
abb1f3201c | ||
|
0ef6e01258 | ||
|
256e818da5 | ||
|
bc32032f02 | ||
|
199b98a78b | ||
|
c0525850fc | ||
|
d4aa71ae9d |
13
.github/FUNDING.yml
vendored
13
.github/FUNDING.yml
vendored
@@ -1,13 +0,0 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
#github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
#patreon: # Replace with a single Patreon username
|
||||
#open_collective: # Replace with a single Open Collective username
|
||||
#ko_fi: # Replace with a single Ko-fi username
|
||||
#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
#community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
#liberapay: # Replace with a single Liberapay username
|
||||
#issuehunt: # Replace with a single IssueHunt username
|
||||
#otechie: # Replace with a single Otechie username
|
||||
|
||||
patreon: winestaging
|
68
.github/workflows/macOS.yml
vendored
68
.github/workflows/macOS.yml
vendored
@@ -1,68 +0,0 @@
|
||||
name: MacOS
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
wine-staging:
|
||||
# https://github.com/actions/runner-images/issues/9741
|
||||
runs-on: macos-13
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew install --cask xquartz
|
||||
brew install autoconf \
|
||||
bison \
|
||||
gphoto2 \
|
||||
gstreamer \
|
||||
gcenx/wine/libinotify-kqueue \
|
||||
mingw-w64 \
|
||||
molten-vk \
|
||||
sdl2
|
||||
|
||||
- name: Add bison & krb5 to $PATH
|
||||
run: |
|
||||
set -eu
|
||||
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
|
||||
echo "$(brew --prefix krb5)/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Get upstream-commit
|
||||
run: |
|
||||
mkdir $GITHUB_WORKSPACE/wine
|
||||
cd wine
|
||||
git init
|
||||
git fetch git://source.winehq.org/git/wine.git $($GITHUB_WORKSPACE/staging/patchinstall.py --upstream-commit) --depth=1
|
||||
git checkout $($GITHUB_WORKSPACE/staging/patchinstall.py --upstream-commit)
|
||||
|
||||
- name: Run patchinstall.py --all
|
||||
run: |
|
||||
cd wine
|
||||
$GITHUB_WORKSPACE/staging/patchinstall.py DESTDIR=. --all
|
||||
|
||||
- name: Configure wine64
|
||||
env:
|
||||
LDFLAGS: "-Wl,-rpath,/opt/X11/lib"
|
||||
# Avoid weird linker errors with Xcode 10 and later
|
||||
MACOSX_DEPLOYMENT_TARGET: "10.14"
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/wine
|
||||
./configure --enable-win64 \
|
||||
--without-alsa \
|
||||
--without-capi \
|
||||
--without-dbus \
|
||||
--without-oss \
|
||||
--without-pulse \
|
||||
--without-udev \
|
||||
--without-v4l2 \
|
||||
--x-include=/opt/X11/include \
|
||||
--x-lib=/opt/X11/lib
|
||||
|
||||
- name: Build wine64
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/wine
|
||||
make -j$(sysctl -n hw.ncpu 2>/dev/null)
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
staging/wine
|
||||
*.pyc
|
||||
.patchupdate.cache
|
||||
|
@@ -8,8 +8,6 @@ are part of **Wine Staging** and are licensed under the terms of the
|
||||
|
||||
```
|
||||
Copyright (C) 2014-2017 the Wine Staging project authors.
|
||||
Copyright (C) 2018 Alistair Leslie-Hughes, Zebediah Figura
|
||||
Copyright (C) 2019-2020 Alistair Leslie-Hughes, Zebediah Figura, Paul Gofman
|
||||
|
||||
Wine Staging is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
|
72
README.md
72
README.md
@@ -6,14 +6,15 @@ features, which have not been integrated into the development branch yet. The
|
||||
idea of Wine Staging is to provide experimental features faster to end users and
|
||||
to give developers the possibility to discuss and improve their patches before
|
||||
they are integrated into the main branch. More information about Wine Staging
|
||||
can also be found [on the WineHQ wiki](https://wiki.winehq.org/Wine-Staging).
|
||||
can also be found on our website [wine-staging.com](http://wine-staging.com).
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
Ready-to-use packages for Wine Staging are available for a variety of Linux
|
||||
distributions and for Mac OS X. Just follow the [installation
|
||||
instructions](https://wiki.winehq.org/Download) for your operating system.
|
||||
distributions and for Mac OS X. Just follow the
|
||||
[installation instructions](https://wine-staging.com/installation.html)
|
||||
for your operating system.
|
||||
|
||||
On most distributions the `wine-staging` package is installed to
|
||||
`/opt/wine-staging`, such that multiple Wine versions can be installed in
|
||||
@@ -21,7 +22,17 @@ parallel. If this is the case for your distribution, you will have to type
|
||||
`/opt/wine-staging/bin/wine` instead of just `wine`. The same also applies for
|
||||
other wine-specific programs like `winecfg`. To learn more about how to use
|
||||
Wine Staging, please take a look at the
|
||||
[usage instructions](https://wiki.winehq.org/Wine-Staging_Usage).
|
||||
[usage instructions](https://github.com/wine-compholio/wine-staging/wiki/Usage).
|
||||
|
||||
Reporting bugs
|
||||
--------------
|
||||
|
||||
Since WineConf 2015 Wine Staging is an official part of WineHQ, which means you
|
||||
can report problems directly at https://bugs.winehq.org/. Most of the time bugs
|
||||
found in Wine Staging also turn out to be present in the development branch, so
|
||||
its recommended to open your bug in the "Wine" product, unless you are sure its
|
||||
really "Wine Staging" specific. For problems with our binary packages, please
|
||||
also open a bug report there.
|
||||
|
||||
Building
|
||||
--------
|
||||
@@ -33,11 +44,11 @@ of information about that is collected in the
|
||||
[WineHQ Wiki](http://wiki.winehq.org/BuildingWine).
|
||||
|
||||
In order to apply all Wine Staging patches it is recommended to use the
|
||||
`patchinstall.py` utility which takes care of applying all patches in the
|
||||
`patchinstall.sh` utility which takes care of applying all patches in the
|
||||
correct order. For reference, the possible commandline arguments are:
|
||||
|
||||
```
|
||||
Usage: ./staging/patchinstall.py [DESTDIR=path] [-W patchset] [patchset ...]
|
||||
Usage: ./patchinstall.sh [DESTDIR=path] [--all] [-W patchset] [patchset ...]
|
||||
|
||||
Autogenerated script to apply all Wine Staging patches on your Wine
|
||||
source tree.
|
||||
@@ -55,53 +66,36 @@ Configuration:
|
||||
|
||||
Backends:
|
||||
--backend=patch Use regular 'patch' utility to apply patches (default)
|
||||
--backend=eapply Use 'eapply' to apply patches (Gentoo only)
|
||||
--backend=epatch Use 'epatch' to apply patches (Gentoo only, deprecated)
|
||||
--backend=git-am Use 'git am' to apply patches
|
||||
--backend=git-apply Use 'git apply' to apply patches
|
||||
--backend=stg Import the patches using stacked git
|
||||
```
|
||||
|
||||
If you want to apply *all* patches with the `patch` utility, the commandline
|
||||
should look similar to this:
|
||||
```
|
||||
./staging/patchinstall.py DESTDIR="/path/to/wine" --all
|
||||
./patches/patchinstall.sh DESTDIR="/path/to/wine" --all
|
||||
```
|
||||
|
||||
Before you proceed with the compilation, please make sure that you installed all
|
||||
additional build dependencies required for the Wine Staging features you are
|
||||
interested in (check output of `./configure`). More information about building
|
||||
Wine Staging, optional build dependencies, and hints for packagers are collected
|
||||
in our [Wiki](https://wiki.winehq.org/Wine-Staging).
|
||||
in our [Wiki](https://github.com/wine-compholio/wine-staging/wiki/Packaging).
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
For information on contributing to Wine-Staging, please see
|
||||
<https://wiki.winehq.org/Wine-Staging_Contributing>. Note that GitHub pull
|
||||
requests are strongly dispreferred, especially for patches.
|
||||
|
||||
Donations
|
||||
---------
|
||||
|
||||
wine-staging is a large set of experimental patches which provide various
|
||||
improvements to WINE, but are not quite suitable for upstreaming. This set of
|
||||
patches has been continuously managed for many years by a small group of
|
||||
volunteers. The way this works is that we often review patches attached to
|
||||
various bug reports found at https://bugs.winehq.org/ which may fix bugs, but
|
||||
may not be quite suitable to be upstreamed due to needing some cleanup or more
|
||||
proper implementation. In the event that this happens, we add the patches to
|
||||
wine-staging instead, and keep them updated and maintained as well as attempt to
|
||||
clean them up to be upstreamed. We also both write and verify patches which fix
|
||||
various bugs that may not have patches, and in turn allow them run better using
|
||||
WINE. This includes testing on various hardware, games and applications.
|
||||
|
||||
Any expenses for applications, games, or hardware which we do not own comes out
|
||||
of pocket. In order to alleviate these expenses, we are now accepting donations.
|
||||
This in turn allows us to continue to perform testing, provide fixes, and get
|
||||
them upstreamed, ultimately aiming to provide a better experience for all WINE
|
||||
users. All of our work is provided publicly for free and can be found at
|
||||
<https://gitlab.winehq.org/wine/wine-staging>. We do not expect to be paid for
|
||||
any of the work provided, nor will donators receive any special benefits or
|
||||
compensation.
|
||||
|
||||
Donations are recieved through Patreon. Anyone interested may donate here:
|
||||
|
||||
https://www.patreon.com/winestaging
|
||||
Wine Staging mainly concentrates on experimental features and patches which are
|
||||
difficult to get into the development branch. If you have a very simple bug fix
|
||||
including tests, there is usually no need to send it to Wine Staging. You can
|
||||
directly contribute it to the
|
||||
[development branch](http://wiki.winehq.org/SubmittingPatches). However, if you
|
||||
already tried that without success, or are working on such a complex area that
|
||||
you do not really think its ready for inclusion, you might want to submit it to
|
||||
our Staging tree. Please open a patch submission request on
|
||||
[bugs.wine-staging.com](https://bugs.wine-staging.com/) including the patch.
|
||||
More information is also available in our
|
||||
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Contributing).
|
||||
|
@@ -0,0 +1,26 @@
|
||||
From 43628d9b1905396ff6442e4f1e07c9dd48739b19 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 14 Apr 2017 15:57:18 +0200
|
||||
Subject: ole32: Fix compilation with recent versions of gcc.
|
||||
|
||||
---
|
||||
dlls/ole32/storage32.h | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/dlls/ole32/storage32.h b/dlls/ole32/storage32.h
|
||||
index 4fcfd9c362..2b23ab8eb8 100644
|
||||
--- a/dlls/ole32/storage32.h
|
||||
+++ b/dlls/ole32/storage32.h
|
||||
@@ -526,6 +526,9 @@ StgStreamImpl* StgStreamImpl_Construct(
|
||||
/******************************************************************************
|
||||
* Endian conversion macros
|
||||
*/
|
||||
+#undef htole32
|
||||
+#undef htole16
|
||||
+
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
|
||||
#define htole32(x) RtlUlongByteSwap(x)
|
||||
--
|
||||
2.12.2
|
||||
|
@@ -1,25 +0,0 @@
|
||||
From 31ad180c1c96e6e9a2e666ebbe90c3d8b78cefa4 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 16 Feb 2024 11:01:45 +1100
|
||||
Subject: [PATCH] combase: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/combase/string.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/combase/string.c b/dlls/combase/string.c
|
||||
index 1345870cf2f..dda6ab78141 100644
|
||||
--- a/dlls/combase/string.c
|
||||
+++ b/dlls/combase/string.c
|
||||
@@ -55,7 +55,7 @@ static inline struct hstring_private *impl_from_HSTRING(HSTRING string)
|
||||
|
||||
static inline struct hstring_private *impl_from_HSTRING_HEADER(HSTRING_HEADER *header)
|
||||
{
|
||||
- return CONTAINING_RECORD(header, struct hstring_private, header);
|
||||
+ return CONTAINING_RECORD((struct hstring_header*)header, struct hstring_private, header);
|
||||
}
|
||||
|
||||
static inline struct hstring_private *impl_from_HSTRING_BUFFER(HSTRING_BUFFER buffer)
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -1,191 +0,0 @@
|
||||
From ef7171d2eb01b4b8aaf8c4c608ceebd698d96e3c Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 21:54:26 +0100
|
||||
Subject: [PATCH] d2d1: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/d2d1/bitmap.c | 2 +-
|
||||
dlls/d2d1/brush.c | 8 ++++----
|
||||
dlls/d2d1/d2d1_private.h | 2 +-
|
||||
dlls/d2d1/dc_render_target.c | 2 +-
|
||||
dlls/d2d1/geometry.c | 12 ++++++------
|
||||
dlls/d2d1/hwnd_render_target.c | 2 +-
|
||||
dlls/d2d1/state_block.c | 2 +-
|
||||
dlls/d2d1/stroke.c | 2 +-
|
||||
8 files changed, 16 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/dlls/d2d1/bitmap.c b/dlls/d2d1/bitmap.c
|
||||
index e5048611519..8e031290528 100644
|
||||
--- a/dlls/d2d1/bitmap.c
|
||||
+++ b/dlls/d2d1/bitmap.c
|
||||
@@ -771,5 +771,5 @@ struct d2d_bitmap *unsafe_impl_from_ID2D1Bitmap(ID2D1Bitmap *iface)
|
||||
if (!iface)
|
||||
return NULL;
|
||||
assert(iface->lpVtbl == (ID2D1BitmapVtbl *)&d2d_bitmap_vtbl);
|
||||
- return CONTAINING_RECORD(iface, struct d2d_bitmap, ID2D1Bitmap1_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Bitmap1*)iface, struct d2d_bitmap, ID2D1Bitmap1_iface);
|
||||
}
|
||||
diff --git a/dlls/d2d1/brush.c b/dlls/d2d1/brush.c
|
||||
index 75cd72b5b9f..314123373b7 100644
|
||||
--- a/dlls/d2d1/brush.c
|
||||
+++ b/dlls/d2d1/brush.c
|
||||
@@ -259,7 +259,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,
|
||||
@@ -402,7 +402,7 @@ HRESULT d2d_solid_color_brush_create(ID2D1Factory *factory, const D2D1_COLOR_F *
|
||||
|
||||
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,
|
||||
@@ -589,7 +589,7 @@ HRESULT d2d_linear_gradient_brush_create(ID2D1Factory *factory,
|
||||
|
||||
static inline struct d2d_brush *impl_from_ID2D1RadialGradientBrush(ID2D1RadialGradientBrush *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_brush, ID2D1Brush_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Brush *)iface, struct d2d_brush, ID2D1Brush_iface);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_radial_gradient_brush_QueryInterface(ID2D1RadialGradientBrush *iface,
|
||||
@@ -821,7 +821,7 @@ HRESULT d2d_radial_gradient_brush_create(ID2D1Factory *factory,
|
||||
|
||||
static inline struct d2d_brush *impl_from_ID2D1BitmapBrush1(ID2D1BitmapBrush1 *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(ID2D1BitmapBrush1 *iface,
|
||||
diff --git a/dlls/d2d1/d2d1_private.h b/dlls/d2d1/d2d1_private.h
|
||||
index c0ac5ba9a44..e171c1c6bd8 100644
|
||||
--- a/dlls/d2d1/d2d1_private.h
|
||||
+++ b/dlls/d2d1/d2d1_private.h
|
||||
@@ -697,7 +697,7 @@ struct d2d_factory
|
||||
|
||||
static inline struct d2d_factory *unsafe_impl_from_ID2D1Factory(ID2D1Factory *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_factory, ID2D1Factory7_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Factory7*)iface, struct d2d_factory, ID2D1Factory7_iface);
|
||||
}
|
||||
|
||||
void d2d_effects_init_builtins(struct d2d_factory *factory);
|
||||
diff --git a/dlls/d2d1/dc_render_target.c b/dlls/d2d1/dc_render_target.c
|
||||
index aa0c715baa5..31389b15cf8 100644
|
||||
--- a/dlls/d2d1/dc_render_target.c
|
||||
+++ b/dlls/d2d1/dc_render_target.c
|
||||
@@ -23,7 +23,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
|
||||
|
||||
static inline struct d2d_dc_render_target *impl_from_IUnknown(IUnknown *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_dc_render_target, ID2D1DCRenderTarget_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1DCRenderTarget*)iface, struct d2d_dc_render_target, ID2D1DCRenderTarget_iface);
|
||||
}
|
||||
|
||||
static HRESULT d2d_dc_render_target_present(IUnknown *outer_unknown)
|
||||
diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c
|
||||
index 3da3ad2e65b..849a2cd2762 100644
|
||||
--- a/dlls/d2d1/geometry.c
|
||||
+++ b/dlls/d2d1/geometry.c
|
||||
@@ -3373,7 +3373,7 @@ static const struct ID2D1GeometrySinkVtbl d2d_geometry_sink_vtbl =
|
||||
|
||||
static inline struct d2d_geometry *impl_from_ID2D1PathGeometry1(ID2D1PathGeometry1 *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(ID2D1PathGeometry1 *iface, REFIID iid, void **out)
|
||||
@@ -3974,7 +3974,7 @@ void d2d_path_geometry_init(struct d2d_geometry *geometry, ID2D1Factory *factory
|
||||
|
||||
static inline struct d2d_geometry *impl_from_ID2D1EllipseGeometry(ID2D1EllipseGeometry *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Geometry*)iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_ellipse_geometry_QueryInterface(ID2D1EllipseGeometry *iface,
|
||||
@@ -4246,7 +4246,7 @@ fail:
|
||||
|
||||
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,
|
||||
@@ -4662,7 +4662,7 @@ fail:
|
||||
|
||||
static inline struct d2d_geometry *impl_from_ID2D1RoundedRectangleGeometry(ID2D1RoundedRectangleGeometry *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1Geometry*)iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_rounded_rectangle_geometry_QueryInterface(ID2D1RoundedRectangleGeometry *iface,
|
||||
@@ -4958,7 +4958,7 @@ fail:
|
||||
|
||||
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,
|
||||
@@ -5242,7 +5242,7 @@ void d2d_transformed_geometry_init(struct d2d_geometry *geometry, ID2D1Factory *
|
||||
|
||||
static inline struct d2d_geometry *impl_from_ID2D1GeometryGroup(ID2D1GeometryGroup *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
+ return CONTAINING_RECORD( (ID2D1Geometry*)iface, struct d2d_geometry, ID2D1Geometry_iface);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_geometry_group_QueryInterface(ID2D1GeometryGroup *iface,
|
||||
diff --git a/dlls/d2d1/hwnd_render_target.c b/dlls/d2d1/hwnd_render_target.c
|
||||
index 7f16ff00d4e..e19228ba0ab 100644
|
||||
--- a/dlls/d2d1/hwnd_render_target.c
|
||||
+++ b/dlls/d2d1/hwnd_render_target.c
|
||||
@@ -23,7 +23,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
|
||||
|
||||
static inline struct d2d_hwnd_render_target *impl_from_IUnknown(IUnknown *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d2d_hwnd_render_target, ID2D1HwndRenderTarget_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1HwndRenderTarget*)iface, struct d2d_hwnd_render_target, ID2D1HwndRenderTarget_iface);
|
||||
}
|
||||
|
||||
static HRESULT d2d_hwnd_render_target_present(IUnknown *outer_unknown)
|
||||
diff --git a/dlls/d2d1/state_block.c b/dlls/d2d1/state_block.c
|
||||
index 770c165fd90..a3b48095436 100644
|
||||
--- a/dlls/d2d1/state_block.c
|
||||
+++ b/dlls/d2d1/state_block.c
|
||||
@@ -191,5 +191,5 @@ struct d2d_state_block *unsafe_impl_from_ID2D1DrawingStateBlock(ID2D1DrawingStat
|
||||
WARN("Unexpected state block vtbl %p.\n", iface->lpVtbl);
|
||||
return NULL;
|
||||
}
|
||||
- return CONTAINING_RECORD(iface, struct d2d_state_block, ID2D1DrawingStateBlock1_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1DrawingStateBlock1*)iface, struct d2d_state_block, ID2D1DrawingStateBlock1_iface);
|
||||
}
|
||||
diff --git a/dlls/d2d1/stroke.c b/dlls/d2d1/stroke.c
|
||||
index fc12d4eb972..c4b2da64f7b 100644
|
||||
--- a/dlls/d2d1/stroke.c
|
||||
+++ b/dlls/d2d1/stroke.c
|
||||
@@ -196,7 +196,7 @@ struct d2d_stroke_style *unsafe_impl_from_ID2D1StrokeStyle(ID2D1StrokeStyle *ifa
|
||||
if (!iface)
|
||||
return NULL;
|
||||
assert((const struct ID2D1StrokeStyle1Vtbl *)iface->lpVtbl == &d2d_stroke_style_vtbl);
|
||||
- return CONTAINING_RECORD(iface, struct d2d_stroke_style, ID2D1StrokeStyle1_iface);
|
||||
+ return CONTAINING_RECORD((ID2D1StrokeStyle1*)iface, struct d2d_stroke_style, ID2D1StrokeStyle1_iface);
|
||||
}
|
||||
|
||||
HRESULT d2d_stroke_style_init(struct d2d_stroke_style *style, ID2D1Factory *factory,
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -0,0 +1,25 @@
|
||||
From 33717bde9e702520e23ae014c398bd7076902d43 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 4 Jun 2017 12:56:47 +0200
|
||||
Subject: shell32: Fix length parameter for ZeroMemory.
|
||||
|
||||
---
|
||||
dlls/shell32/shfldr_fs.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/shell32/shfldr_fs.c b/dlls/shell32/shfldr_fs.c
|
||||
index c7259276d1d..10653f92b52 100644
|
||||
--- a/dlls/shell32/shfldr_fs.c
|
||||
+++ b/dlls/shell32/shfldr_fs.c
|
||||
@@ -1315,7 +1315,7 @@ ISFHelper_fnCopyItems (ISFHelper * iface, IShellFolder * pSFFrom, UINT cidl,
|
||||
|
||||
if (SUCCEEDED (IPersistFolder2_GetCurFolder (ppf2, &pidl))) {
|
||||
SHGetPathFromIDListW (pidl, wszSrcPathRoot);
|
||||
- ZeroMemory(wszDstPath, MAX_PATH+1);
|
||||
+ ZeroMemory(wszDstPath, sizeof(wszDstPath));
|
||||
if (This->sPathTarget)
|
||||
lstrcpynW(wszDstPath, This->sPathTarget, MAX_PATH);
|
||||
PathAddBackslashW(wszSrcPathRoot);
|
||||
--
|
||||
2.13.0
|
||||
|
@@ -0,0 +1,25 @@
|
||||
From 2b5e9f330770221eee2eda2aab251eba8d370a60 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 4 Jun 2017 13:17:54 +0200
|
||||
Subject: fusion: Fix length parameter for ZeroMemory.
|
||||
|
||||
---
|
||||
dlls/fusion/tests/asmname.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/fusion/tests/asmname.c b/dlls/fusion/tests/asmname.c
|
||||
index 5fb14a48291..21cd4874edc 100644
|
||||
--- a/dlls/fusion/tests/asmname.c
|
||||
+++ b/dlls/fusion/tests/asmname.c
|
||||
@@ -358,7 +358,7 @@ static void test_assembly_name_props_line(IAssemblyName *name,
|
||||
to_widechar(expect, vals[i].val);
|
||||
|
||||
size = MAX_PATH;
|
||||
- ZeroMemory(str, MAX_PATH);
|
||||
+ ZeroMemory(str, sizeof(str));
|
||||
hr = IAssemblyName_GetProperty(name, i, str, &size);
|
||||
to_multibyte(val, str);
|
||||
|
||||
--
|
||||
2.13.0
|
||||
|
@@ -0,0 +1,34 @@
|
||||
From 3e59710a3091a4a61b7cce00606ed23b7b66dfda Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 4 Jun 2017 12:55:31 +0200
|
||||
Subject: fusion/tests: Avoid compiler warnings with GCC 7.
|
||||
|
||||
---
|
||||
dlls/fusion/tests/asmenum.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/fusion/tests/asmenum.c b/dlls/fusion/tests/asmenum.c
|
||||
index 1dc34a286e5..8b95f2a6bd5 100644
|
||||
--- a/dlls/fusion/tests/asmenum.c
|
||||
+++ b/dlls/fusion/tests/asmenum.c
|
||||
@@ -223,7 +223,7 @@ typedef struct _tagASMNAME
|
||||
static BOOL enum_gac_assemblies(struct list *assemblies, int depth, LPSTR path)
|
||||
{
|
||||
WIN32_FIND_DATAA ffd;
|
||||
- CHAR buf[MAX_PATH];
|
||||
+ CHAR buf[MAX_PATH + 37];
|
||||
CHAR disp[MAX_PATH];
|
||||
ASMNAME *name;
|
||||
HANDLE hfind;
|
||||
@@ -248,7 +248,7 @@ static BOOL enum_gac_assemblies(struct list *assemblies, int depth, LPSTR path)
|
||||
else if (depth == 1)
|
||||
{
|
||||
char culture[MAX_PATH];
|
||||
- char dll[MAX_PATH], exe[MAX_PATH];
|
||||
+ char dll[MAX_PATH + 6], exe[MAX_PATH + 6];
|
||||
|
||||
/* Directories with no dll or exe will not be enumerated */
|
||||
sprintf(dll, "%s\\%s\\%s.dll", path, ffd.cFileName, parent);
|
||||
--
|
||||
2.13.0
|
||||
|
@@ -1,133 +0,0 @@
|
||||
From f99279cb9f1d4135a54b1df6791fc05616b4334a Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 8 Jun 2021 09:34:28 +1000
|
||||
Subject: [PATCH] d3d10: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/d3d10/effect.c | 26 +++++++++++++-------------
|
||||
1 file changed, 13 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c
|
||||
index 26394510945..b46f89e01e7 100644
|
||||
--- a/dlls/d3d10/effect.c
|
||||
+++ b/dlls/d3d10/effect.c
|
||||
@@ -137,7 +137,7 @@ static inline struct d3d10_effect_variable *impl_from_ID3D10EffectVariable(ID3D1
|
||||
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectShaderVariable(ID3D10EffectShaderVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static struct d3d10_effect_variable * d3d10_array_get_element(struct d3d10_effect_variable *v,
|
||||
@@ -5978,7 +5978,7 @@ static const struct ID3D10EffectVariableVtbl d3d10_effect_variable_vtbl =
|
||||
/* ID3D10EffectVariable methods */
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectConstantBuffer(ID3D10EffectConstantBuffer *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_constant_buffer_IsValid(ID3D10EffectConstantBuffer *iface)
|
||||
@@ -6429,7 +6429,7 @@ static void read_variable_array_from_buffer(struct d3d10_effect_variable *variab
|
||||
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectScalarVariable(ID3D10EffectScalarVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_scalar_variable_IsValid(ID3D10EffectScalarVariable *iface)
|
||||
@@ -6767,7 +6767,7 @@ static const struct ID3D10EffectScalarVariableVtbl d3d10_effect_scalar_variable_
|
||||
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectVectorVariable(ID3D10EffectVectorVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_vector_variable_IsValid(ID3D10EffectVectorVariable *iface)
|
||||
@@ -7256,7 +7256,7 @@ static void read_matrix_variable_array_from_buffer(struct d3d10_effect_variable
|
||||
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectMatrixVariable(ID3D10EffectMatrixVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_matrix_variable_IsValid(ID3D10EffectMatrixVariable *iface)
|
||||
@@ -7546,7 +7546,7 @@ static const struct ID3D10EffectMatrixVariableVtbl d3d10_effect_matrix_variable_
|
||||
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectStringVariable(ID3D10EffectStringVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD( (ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_string_variable_IsValid(ID3D10EffectStringVariable *iface)
|
||||
@@ -7783,7 +7783,7 @@ static void set_shader_resource_variable(ID3D10ShaderResourceView **src, ID3D10S
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectShaderResourceVariable(
|
||||
ID3D10EffectShaderResourceVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_IsValid(ID3D10EffectShaderResourceVariable *iface)
|
||||
@@ -8045,7 +8045,7 @@ static const struct ID3D10EffectShaderResourceVariableVtbl d3d10_effect_shader_r
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectRenderTargetViewVariable(
|
||||
ID3D10EffectRenderTargetViewVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD( (ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_IsValid(
|
||||
@@ -8277,7 +8277,7 @@ static const struct ID3D10EffectRenderTargetViewVariableVtbl d3d10_effect_render
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectDepthStencilViewVariable(
|
||||
ID3D10EffectDepthStencilViewVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_IsValid(
|
||||
@@ -8907,7 +8907,7 @@ static const struct ID3D10EffectShaderVariableVtbl d3d10_effect_shader_variable_
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectBlendVariable(
|
||||
ID3D10EffectBlendVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_blend_variable_IsValid(ID3D10EffectBlendVariable *iface)
|
||||
@@ -9146,7 +9146,7 @@ static const struct ID3D10EffectBlendVariableVtbl d3d10_effect_blend_variable_vt
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectDepthStencilVariable(
|
||||
ID3D10EffectDepthStencilVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_IsValid(ID3D10EffectDepthStencilVariable *iface)
|
||||
@@ -9387,7 +9387,7 @@ static const struct ID3D10EffectDepthStencilVariableVtbl d3d10_effect_depth_sten
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectRasterizerVariable(
|
||||
ID3D10EffectRasterizerVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_IsValid(ID3D10EffectRasterizerVariable *iface)
|
||||
@@ -9626,7 +9626,7 @@ static const struct ID3D10EffectRasterizerVariableVtbl d3d10_effect_rasterizer_v
|
||||
static inline struct d3d10_effect_variable *impl_from_ID3D10EffectSamplerVariable(
|
||||
ID3D10EffectSamplerVariable *iface)
|
||||
{
|
||||
- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
+ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface);
|
||||
}
|
||||
|
||||
static BOOL STDMETHODCALLTYPE d3d10_effect_sampler_variable_IsValid(ID3D10EffectSamplerVariable *iface)
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -0,0 +1,34 @@
|
||||
From d1eafd34d4c0619f956afd365ddbde79680a18dc Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 4 Jun 2017 12:56:10 +0200
|
||||
Subject: kernel32/tests: Avoid compiler warnings with GCC 7.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/heap.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/heap.c b/dlls/kernel32/tests/heap.c
|
||||
index 0acf109dff0..70ba674bc91 100644
|
||||
--- a/dlls/kernel32/tests/heap.c
|
||||
+++ b/dlls/kernel32/tests/heap.c
|
||||
@@ -109,6 +109,9 @@ static void test_heap(void)
|
||||
}
|
||||
|
||||
/* test some border cases of HeapAlloc and HeapReAlloc */
|
||||
+#pragma GCC diagnostic push
|
||||
+#pragma GCC diagnostic ignored "-Wpragmas"
|
||||
+#pragma GCC diagnostic ignored "-Walloc-size-larger-than="
|
||||
mem = HeapAlloc(GetProcessHeap(), 0, 0);
|
||||
ok(mem != NULL, "memory not allocated for size 0\n");
|
||||
msecond = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, mem, ~(SIZE_T)0 - 7);
|
||||
@@ -125,6 +128,7 @@ static void test_heap(void)
|
||||
ok(size == 0 || broken(size == 1) /* some vista and win7 */,
|
||||
"HeapSize should have returned 0 instead of %lu\n", size);
|
||||
HeapFree(GetProcessHeap(), 0, msecond);
|
||||
+#pragma GCC diagnostic pop
|
||||
|
||||
/* large blocks must be 16-byte aligned */
|
||||
mem = HeapAlloc(GetProcessHeap(), 0, 512 * 1024);
|
||||
--
|
||||
2.13.1
|
||||
|
@@ -0,0 +1,25 @@
|
||||
From 61ceddca38f26c2df2acc6361c35ced52fe9b098 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 4 Jun 2017 12:58:31 +0200
|
||||
Subject: rsaenh/tests: Avoid compiler warnings with GCC 7.
|
||||
|
||||
---
|
||||
dlls/rsaenh/rsaenh.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c
|
||||
index 9af770dfc6e..6978c860278 100644
|
||||
--- a/dlls/rsaenh/rsaenh.c
|
||||
+++ b/dlls/rsaenh/rsaenh.c
|
||||
@@ -1097,7 +1097,7 @@ static void store_key_permissions(HCRYPTKEY hCryptKey, HKEY hKey, DWORD dwKeySpe
|
||||
*/
|
||||
static BOOL create_container_key(KEYCONTAINER *pKeyContainer, REGSAM sam, HKEY *phKey)
|
||||
{
|
||||
- CHAR szRSABase[MAX_PATH];
|
||||
+ CHAR szRSABase[MAX_PATH + 25];
|
||||
HKEY hRootKey;
|
||||
|
||||
sprintf(szRSABase, RSAENH_REGKEY, pKeyContainer->szName);
|
||||
--
|
||||
2.13.0
|
||||
|
@@ -0,0 +1,46 @@
|
||||
From 67ed53ca67214d7dbdea7f342b9f2ff0356a220b Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 4 Jun 2017 12:59:10 +0200
|
||||
Subject: kernel32: Avoid compiler warnings with GCC 7.
|
||||
|
||||
---
|
||||
dlls/kernel32/oldconfig.c | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/oldconfig.c b/dlls/kernel32/oldconfig.c
|
||||
index 6c80dc614f0..3e628757283 100644
|
||||
--- a/dlls/kernel32/oldconfig.c
|
||||
+++ b/dlls/kernel32/oldconfig.c
|
||||
@@ -290,7 +290,8 @@ static void create_hardware_branch(void)
|
||||
{
|
||||
if (strncmp(dent->d_name, "hd", 2) == 0)
|
||||
{
|
||||
- sprintf(cStr, procname_ide_media, dent->d_name);
|
||||
+ result = snprintf(cStr, sizeof(cStr), procname_ide_media, dent->d_name);
|
||||
+ if (result < 0 || result >= sizeof(cStr)) continue;
|
||||
procfile = fopen(cStr, "r");
|
||||
if (!procfile)
|
||||
{
|
||||
@@ -306,7 +307,8 @@ static void create_hardware_branch(void)
|
||||
if (nType == DRIVE_UNKNOWN) continue;
|
||||
}
|
||||
|
||||
- sprintf(cStr, procname_ide_model, dent->d_name);
|
||||
+ result = snprintf(cStr, sizeof(cStr), procname_ide_model, dent->d_name);
|
||||
+ if (result < 0 || result >= sizeof(cStr)) continue;
|
||||
procfile = fopen(cStr, "r");
|
||||
if (!procfile)
|
||||
{
|
||||
@@ -322,7 +324,8 @@ static void create_hardware_branch(void)
|
||||
cDevModel[strlen(cDevModel) - 1] = 0;
|
||||
}
|
||||
|
||||
- sprintf(cUnixDeviceName, "/dev/%s", dent->d_name);
|
||||
+ result = snprintf(cUnixDeviceName, sizeof(cUnixDeviceName), "/dev/%s", dent->d_name);
|
||||
+ if (result < 0 || result >= sizeof(cUnixDeviceName)) continue;
|
||||
scsi_addr.PortNumber = (dent->d_name[2] - 'a') / 2;
|
||||
scsi_addr.PathId = 0;
|
||||
scsi_addr.TargetId = (dent->d_name[2] - 'a') % 2;
|
||||
--
|
||||
2.13.0
|
||||
|
@@ -1,57 +0,0 @@
|
||||
From 06c5b910cd509293e27aa9eb35460bf0cebb973c Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 21:58:40 +0100
|
||||
Subject: [PATCH] dwrite: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/dwrite/font.c | 6 +++---
|
||||
dlls/dwrite/format.c | 2 +-
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
|
||||
index 2028440ca8e..3f1ace1533f 100644
|
||||
--- a/dlls/dwrite/font.c
|
||||
+++ b/dlls/dwrite/font.c
|
||||
@@ -2530,7 +2530,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
|
||||
if (!iface)
|
||||
return NULL;
|
||||
assert(iface->lpVtbl == (IDWriteFontVtbl*)&dwritefontvtbl);
|
||||
- return CONTAINING_RECORD(iface, struct dwrite_font, IDWriteFont3_iface);
|
||||
+ return CONTAINING_RECORD((IDWriteFont3 *)iface, struct dwrite_font, IDWriteFont3_iface);
|
||||
}
|
||||
|
||||
struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
|
||||
@@ -2538,7 +2538,7 @@ struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
|
||||
if (!iface)
|
||||
return NULL;
|
||||
assert(iface->lpVtbl == (IDWriteFontFaceVtbl*)&dwritefontfacevtbl);
|
||||
- return CONTAINING_RECORD(iface, struct dwrite_fontface, IDWriteFontFace5_iface);
|
||||
+ return CONTAINING_RECORD((IDWriteFontFace5 *)iface, struct dwrite_fontface, IDWriteFontFace5_iface);
|
||||
}
|
||||
|
||||
static struct dwrite_fontfacereference *unsafe_impl_from_IDWriteFontFaceReference(IDWriteFontFaceReference *iface)
|
||||
@@ -8101,7 +8101,7 @@ static struct dwrite_fontset *unsafe_impl_from_IDWriteFontSet(IDWriteFontSet *if
|
||||
if (!iface)
|
||||
return NULL;
|
||||
assert(iface->lpVtbl == (IDWriteFontSetVtbl *)&fontsetvtbl);
|
||||
- return CONTAINING_RECORD(iface, struct dwrite_fontset, IDWriteFontSet3_iface);
|
||||
+ return CONTAINING_RECORD((IDWriteFontSet3*)iface, struct dwrite_fontset, IDWriteFontSet3_iface);
|
||||
}
|
||||
|
||||
static HRESULT fontset_create_entry(IDWriteFontFile *file, DWRITE_FONT_FACE_TYPE face_type,
|
||||
diff --git a/dlls/dwrite/format.c b/dlls/dwrite/format.c
|
||||
index 01a6dfd06c9..4f00af818bd 100644
|
||||
--- a/dlls/dwrite/format.c
|
||||
+++ b/dlls/dwrite/format.c
|
||||
@@ -708,7 +708,7 @@ static const IDWriteTextFormat3Vtbl dwritetextformatvtbl =
|
||||
struct dwrite_textformat *unsafe_impl_from_IDWriteTextFormat(IDWriteTextFormat *iface)
|
||||
{
|
||||
return (iface->lpVtbl == (IDWriteTextFormatVtbl *)&dwritetextformatvtbl) ?
|
||||
- CONTAINING_RECORD(iface, struct dwrite_textformat, IDWriteTextFormat3_iface) : NULL;
|
||||
+ CONTAINING_RECORD((IDWriteTextFormat3*)iface, struct dwrite_textformat, IDWriteTextFormat3_iface) : NULL;
|
||||
}
|
||||
|
||||
HRESULT create_text_format(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight,
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -0,0 +1,24 @@
|
||||
From 560a25c662f7b56d2b895759be1ea65c64d0f5af Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 4 Jun 2017 12:57:17 +0200
|
||||
Subject: ws2_32/tests: Work around an incorrect detection in GCC 7.
|
||||
|
||||
---
|
||||
dlls/ws2_32/tests/sock.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
|
||||
index 677a750ec6b..65c82e36524 100644
|
||||
--- a/dlls/ws2_32/tests/sock.c
|
||||
+++ b/dlls/ws2_32/tests/sock.c
|
||||
@@ -3601,6 +3601,7 @@ static DWORD WINAPI SelectReadThread(void *param)
|
||||
struct sockaddr_in addr;
|
||||
struct timeval select_timeout;
|
||||
|
||||
+ memset(&readfds, 0, sizeof(readfds));
|
||||
FD_ZERO(&readfds);
|
||||
FD_SET(par->s, &readfds);
|
||||
select_timeout.tv_sec=5;
|
||||
--
|
||||
2.13.0
|
||||
|
@@ -1,25 +0,0 @@
|
||||
From 8f905b6f5651f2235d172ddb7ce204c7ab580ab2 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 8 Jun 2021 09:46:25 +1000
|
||||
Subject: [PATCH] dxgi: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/dxgi/output.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/dxgi/output.c b/dlls/dxgi/output.c
|
||||
index e828ed0d9d8..2c212a24821 100644
|
||||
--- a/dlls/dxgi/output.c
|
||||
+++ b/dlls/dxgi/output.c
|
||||
@@ -708,7 +708,7 @@ struct dxgi_output *unsafe_impl_from_IDXGIOutput(IDXGIOutput *iface)
|
||||
if (!iface)
|
||||
return NULL;
|
||||
assert(iface->lpVtbl == (IDXGIOutputVtbl *)&dxgi_output_vtbl);
|
||||
- return CONTAINING_RECORD(iface, struct dxgi_output, IDXGIOutput6_iface);
|
||||
+ return CONTAINING_RECORD((IDXGIOutput6*)iface, struct dxgi_output, IDXGIOutput6_iface);
|
||||
}
|
||||
|
||||
static void dxgi_output_init(struct dxgi_output *output, unsigned int output_idx,
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -0,0 +1,37 @@
|
||||
From 9d0f651d9cb5c3ae68810e37dd6030373c7aeab6 Mon Sep 17 00:00:00 2001
|
||||
From: Nils Kuhnhenn <kuhnhenn.nils@gmail.com>
|
||||
Date: Wed, 24 Aug 2016 19:56:00 +0200
|
||||
Subject: oleaut32: Use variable with the correct type in LIST_FOR_EACH_ENTRY_SAFE macro.
|
||||
|
||||
---
|
||||
dlls/oleaut32/typelib.c | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
|
||||
index b9318fba423..5a6dad496ed 100644
|
||||
--- a/dlls/oleaut32/typelib.c
|
||||
+++ b/dlls/oleaut32/typelib.c
|
||||
@@ -4830,10 +4830,9 @@ static ULONG WINAPI ITypeLib2_fnRelease( ITypeLib2 *iface)
|
||||
if (!ref)
|
||||
{
|
||||
TLBImpLib *pImpLib, *pImpLibNext;
|
||||
- TLBRefType *ref_type;
|
||||
+ TLBRefType *ref_type, *ref_type_next;
|
||||
TLBString *tlbstr, *tlbstr_next;
|
||||
TLBGuid *tlbguid, *tlbguid_next;
|
||||
- void *cursor2;
|
||||
int i;
|
||||
|
||||
/* remove cache entry */
|
||||
@@ -4883,7 +4882,7 @@ static ULONG WINAPI ITypeLib2_fnRelease( ITypeLib2 *iface)
|
||||
heap_free(pImpLib);
|
||||
}
|
||||
|
||||
- LIST_FOR_EACH_ENTRY_SAFE(ref_type, cursor2, &This->ref_list, TLBRefType, entry)
|
||||
+ LIST_FOR_EACH_ENTRY_SAFE(ref_type, ref_type_next, &This->ref_list, TLBRefType, entry)
|
||||
{
|
||||
list_remove(&ref_type->entry);
|
||||
heap_free(ref_type);
|
||||
--
|
||||
2.13.1
|
||||
|
@@ -0,0 +1,24 @@
|
||||
From 380543910f8912374a13b9773738e018bd638341 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 11 Jun 2017 02:42:47 +0200
|
||||
Subject: gdiplus: Initialize containers list in GdipCloneImage.
|
||||
|
||||
---
|
||||
dlls/gdiplus/image.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c
|
||||
index ce2194317ff..b28606e916c 100644
|
||||
--- a/dlls/gdiplus/image.c
|
||||
+++ b/dlls/gdiplus/image.c
|
||||
@@ -1339,6 +1339,7 @@ GpStatus WINGDIPAPI GdipCloneImage(GpImage *image, GpImage **cloneImage)
|
||||
result->unit = metafile->unit;
|
||||
result->metafile_type = metafile->metafile_type;
|
||||
result->hemf = CopyEnhMetaFileW(metafile->hemf, NULL);
|
||||
+ list_init(&result->containers);
|
||||
|
||||
if (!result->hemf)
|
||||
{
|
||||
--
|
||||
2.13.1
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user