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
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
2a411514e5 | ||
|
6ea30a2e5b | ||
|
e31ff0a923 | ||
|
e534d6546a | ||
|
ea360c871f |
@@ -1,4 +1,4 @@
|
||||
From a0211ba2069af11a64588a49222dcdcce1d805be Mon Sep 17 00:00:00 2001
|
||||
From 92914d4648be5dd7ee62b35d3ca2fc7376d0dbd0 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.
|
||||
@@ -13,10 +13,10 @@ Subject: [PATCH] d2d1: Avoid implicit cast of interface pointer.
|
||||
6 files changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/dlls/d2d1/bitmap.c b/dlls/d2d1/bitmap.c
|
||||
index bc958e50a1..76ecc7f02a 100644
|
||||
index 971e3c7ff6b..fcd96eb6374 100644
|
||||
--- a/dlls/d2d1/bitmap.c
|
||||
+++ b/dlls/d2d1/bitmap.c
|
||||
@@ -617,5 +617,5 @@ struct d2d_bitmap *unsafe_impl_from_ID2D1Bitmap(ID2D1Bitmap *iface)
|
||||
@@ -646,5 +646,5 @@ struct d2d_bitmap *unsafe_impl_from_ID2D1Bitmap(ID2D1Bitmap *iface)
|
||||
if (!iface)
|
||||
return NULL;
|
||||
assert(iface->lpVtbl == (ID2D1BitmapVtbl *)&d2d_bitmap_vtbl);
|
||||
@@ -24,10 +24,10 @@ index bc958e50a1..76ecc7f02a 100644
|
||||
+ return CONTAINING_RECORD((ID2D1Bitmap1*)iface, struct d2d_bitmap, ID2D1Bitmap1_iface);
|
||||
}
|
||||
diff --git a/dlls/d2d1/brush.c b/dlls/d2d1/brush.c
|
||||
index 80fc0f5331..a612e683b6 100644
|
||||
index b9a673fe54c..c5a52db6b01 100644
|
||||
--- a/dlls/d2d1/brush.c
|
||||
+++ b/dlls/d2d1/brush.c
|
||||
@@ -253,7 +253,7 @@ static void d2d_brush_init(struct d2d_brush *brush, ID2D1Factory *factory,
|
||||
@@ -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)
|
||||
{
|
||||
@@ -36,7 +36,7 @@ index 80fc0f5331..a612e683b6 100644
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_solid_color_brush_QueryInterface(ID2D1SolidColorBrush *iface,
|
||||
@@ -396,7 +396,7 @@ HRESULT d2d_solid_color_brush_create(ID2D1Factory *factory, const D2D1_COLOR_F *
|
||||
@@ -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)
|
||||
{
|
||||
@@ -45,7 +45,7 @@ index 80fc0f5331..a612e683b6 100644
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_linear_gradient_brush_QueryInterface(ID2D1LinearGradientBrush *iface,
|
||||
@@ -583,7 +583,7 @@ HRESULT d2d_linear_gradient_brush_create(ID2D1Factory *factory,
|
||||
@@ -589,7 +589,7 @@ HRESULT d2d_linear_gradient_brush_create(ID2D1Factory *factory,
|
||||
|
||||
static inline struct d2d_brush *impl_from_ID2D1RadialGradientBrush(ID2D1RadialGradientBrush *iface)
|
||||
{
|
||||
@@ -54,7 +54,7 @@ index 80fc0f5331..a612e683b6 100644
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_radial_gradient_brush_QueryInterface(ID2D1RadialGradientBrush *iface,
|
||||
@@ -815,7 +815,7 @@ HRESULT d2d_radial_gradient_brush_create(ID2D1Factory *factory,
|
||||
@@ -821,7 +821,7 @@ HRESULT d2d_radial_gradient_brush_create(ID2D1Factory *factory,
|
||||
|
||||
static inline struct d2d_brush *impl_from_ID2D1BitmapBrush1(ID2D1BitmapBrush1 *iface)
|
||||
{
|
||||
@@ -64,7 +64,7 @@ index 80fc0f5331..a612e683b6 100644
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_bitmap_brush_QueryInterface(ID2D1BitmapBrush1 *iface,
|
||||
diff --git a/dlls/d2d1/dc_render_target.c b/dlls/d2d1/dc_render_target.c
|
||||
index 47aa99697d..0efa3ebeaf 100644
|
||||
index e7e0fa57ed7..1166ae204c2 100644
|
||||
--- a/dlls/d2d1/dc_render_target.c
|
||||
+++ b/dlls/d2d1/dc_render_target.c
|
||||
@@ -23,7 +23,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
|
||||
@@ -77,19 +77,19 @@ index 47aa99697d..0efa3ebeaf 100644
|
||||
|
||||
static HRESULT d2d_dc_render_target_present(IUnknown *outer_unknown)
|
||||
diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c
|
||||
index 79850f1c20..b9b6a32f76 100644
|
||||
index e97bae0b54a..661387b570b 100644
|
||||
--- a/dlls/d2d1/geometry.c
|
||||
+++ b/dlls/d2d1/geometry.c
|
||||
@@ -2982,7 +2982,7 @@ static const struct ID2D1GeometrySinkVtbl d2d_geometry_sink_vtbl =
|
||||
@@ -3356,7 +3356,7 @@ static const struct ID2D1GeometrySinkVtbl d2d_geometry_sink_vtbl =
|
||||
|
||||
static inline struct d2d_geometry *impl_from_ID2D1PathGeometry(ID2D1PathGeometry *iface)
|
||||
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(ID2D1PathGeometry *iface, REFIID iid, void **out)
|
||||
@@ -3502,7 +3502,7 @@ void d2d_path_geometry_init(struct d2d_geometry *geometry, ID2D1Factory2 *factor
|
||||
static HRESULT STDMETHODCALLTYPE d2d_path_geometry_QueryInterface(ID2D1PathGeometry1 *iface, REFIID iid, void **out)
|
||||
@@ -4229,7 +4229,7 @@ fail:
|
||||
|
||||
static inline struct d2d_geometry *impl_from_ID2D1RectangleGeometry(ID2D1RectangleGeometry *iface)
|
||||
{
|
||||
@@ -98,7 +98,7 @@ index 79850f1c20..b9b6a32f76 100644
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_rectangle_geometry_QueryInterface(ID2D1RectangleGeometry *iface,
|
||||
@@ -3841,7 +3841,7 @@ fail:
|
||||
@@ -4941,7 +4941,7 @@ fail:
|
||||
|
||||
static inline struct d2d_geometry *impl_from_ID2D1TransformedGeometry(ID2D1TransformedGeometry *iface)
|
||||
{
|
||||
@@ -107,7 +107,7 @@ index 79850f1c20..b9b6a32f76 100644
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d2d_transformed_geometry_QueryInterface(ID2D1TransformedGeometry *iface,
|
||||
@@ -4122,7 +4122,7 @@ void d2d_transformed_geometry_init(struct d2d_geometry *geometry, ID2D1Factory2
|
||||
@@ -5225,7 +5225,7 @@ void d2d_transformed_geometry_init(struct d2d_geometry *geometry, ID2D1Factory *
|
||||
|
||||
static inline struct d2d_geometry *impl_from_ID2D1GeometryGroup(ID2D1GeometryGroup *iface)
|
||||
{
|
||||
@@ -117,7 +117,7 @@ index 79850f1c20..b9b6a32f76 100644
|
||||
|
||||
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 625f101eaa..f3626c42ce 100644
|
||||
index 4ce220bf433..32eeaf02c9f 100644
|
||||
--- a/dlls/d2d1/hwnd_render_target.c
|
||||
+++ b/dlls/d2d1/hwnd_render_target.c
|
||||
@@ -23,7 +23,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
|
||||
@@ -130,7 +130,7 @@ index 625f101eaa..f3626c42ce 100644
|
||||
|
||||
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 e3175146a6..b66752983e 100644
|
||||
index 114a3efd883..4f662be4549 100644
|
||||
--- a/dlls/d2d1/state_block.c
|
||||
+++ b/dlls/d2d1/state_block.c
|
||||
@@ -187,5 +187,5 @@ struct d2d_state_block *unsafe_impl_from_ID2D1DrawingStateBlock(ID2D1DrawingStat
|
||||
@@ -141,5 +141,5 @@ index e3175146a6..b66752983e 100644
|
||||
+ return CONTAINING_RECORD((ID2D1DrawingStateBlock1*)iface, struct d2d_state_block, ID2D1DrawingStateBlock1_iface);
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,76 +0,0 @@
|
||||
From 9ea60091ba885b5f63266374f49f0d63e2cf2767 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Wed, 16 Dec 2020 11:07:05 +1100
|
||||
Subject: [PATCH] d3drm: Support IDirect3D3 when creating device
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39346
|
||||
---
|
||||
dlls/d3drm/device.c | 26 ++++++++++++++++++++++++--
|
||||
1 file changed, 24 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3drm/device.c b/dlls/d3drm/device.c
|
||||
index 2e1b5f2d24f..fff272197bf 100644
|
||||
--- a/dlls/d3drm/device.c
|
||||
+++ b/dlls/d3drm/device.c
|
||||
@@ -124,7 +124,9 @@ HRESULT d3drm_device_init(struct d3drm_device *device, UINT version, IDirectDraw
|
||||
IDirectDrawSurface *ds = NULL;
|
||||
IDirect3DDevice *device1 = NULL;
|
||||
IDirect3DDevice2 *device2 = NULL;
|
||||
+ IDirect3DDevice3 *device3 = NULL;
|
||||
IDirect3D2 *d3d2 = NULL;
|
||||
+ IDirect3D3 *d3d3 = NULL;
|
||||
DDSURFACEDESC desc, surface_desc;
|
||||
HRESULT hr;
|
||||
|
||||
@@ -171,19 +173,29 @@ HRESULT d3drm_device_init(struct d3drm_device *device, UINT version, IDirectDraw
|
||||
|
||||
if (version == 1)
|
||||
hr = IDirectDrawSurface_QueryInterface(surface, &IID_IDirect3DRGBDevice, (void **)&device1);
|
||||
- else
|
||||
+ else if (version == 2)
|
||||
{
|
||||
IDirectDraw_QueryInterface(ddraw, &IID_IDirect3D2, (void**)&d3d2);
|
||||
hr = IDirect3D2_CreateDevice(d3d2, &IID_IDirect3DRGBDevice, surface, &device2);
|
||||
IDirect3D2_Release(d3d2);
|
||||
}
|
||||
+ else
|
||||
+ {
|
||||
+ IDirectDrawSurface4 *surface4 = NULL;
|
||||
+
|
||||
+ IDirectDrawSurface_QueryInterface(surface, &IID_IDirectDrawSurface4, (void**)&surface4);
|
||||
+ IDirectDraw_QueryInterface(ddraw, &IID_IDirect3D3, (void**)&d3d3);
|
||||
+ hr = IDirect3D3_CreateDevice(d3d3, &IID_IDirect3DRGBDevice, surface4, &device3, NULL);
|
||||
+ IDirectDrawSurface4_Release(surface4);
|
||||
+ IDirect3D3_Release(d3d3);
|
||||
+ }
|
||||
if (FAILED(hr))
|
||||
{
|
||||
IDirectDrawSurface_DeleteAttachedSurface(surface, 0, ds);
|
||||
return hr;
|
||||
}
|
||||
|
||||
- if (version != 1)
|
||||
+ if (version == 2)
|
||||
{
|
||||
hr = IDirect3DDevice2_QueryInterface(device2, &IID_IDirect3DDevice, (void**)&device1);
|
||||
IDirect3DDevice2_Release(device2);
|
||||
@@ -193,6 +205,16 @@ HRESULT d3drm_device_init(struct d3drm_device *device, UINT version, IDirectDraw
|
||||
return hr;
|
||||
}
|
||||
}
|
||||
+ else if (version == 3)
|
||||
+ {
|
||||
+ hr = IDirect3DDevice3_QueryInterface(device3, &IID_IDirect3DDevice, (void**)&device1);
|
||||
+ IDirect3DDevice3_Release(device3);
|
||||
+ if (FAILED(hr))
|
||||
+ {
|
||||
+ IDirectDrawSurface_DeleteAttachedSurface(surface, 0, ds);
|
||||
+ return hr;
|
||||
+ }
|
||||
+ }
|
||||
device->device = device1;
|
||||
device->width = desc.dwWidth;
|
||||
device->height = desc.dwHeight;
|
||||
--
|
||||
2.29.2
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [39346] Support IDirect3D3 when creating device.
|
@@ -1,7 +1,7 @@
|
||||
From cfbee3f0f952769dbf663489c2a209493c7412d3 Mon Sep 17 00:00:00 2001
|
||||
From 5d9d9cbdb4043848aa5ebdd8a1349d9c876650e3 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Sun, 11 Jan 2015 16:18:03 +0100
|
||||
Subject: d3dx9_36: Add support for FOURCC surface to
|
||||
Subject: [PATCH] d3dx9_36: Add support for FOURCC surface to
|
||||
save_dds_surface_to_memory.
|
||||
|
||||
---
|
||||
@@ -9,10 +9,10 @@ Subject: d3dx9_36: Add support for FOURCC surface to
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
|
||||
index 4fa2a76..58b676d 100644
|
||||
index 26809a47e18..db334ee83f1 100644
|
||||
--- a/dlls/d3dx9_36/surface.c
|
||||
+++ b/dlls/d3dx9_36/surface.c
|
||||
@@ -311,6 +311,14 @@ static HRESULT d3dformat_to_dds_pixel_format(struct dds_pixel_format *pixel_form
|
||||
@@ -433,6 +433,14 @@ static HRESULT d3dformat_to_dds_pixel_format(struct dds_pixel_format *pixel_form
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,9 +24,9 @@ index 4fa2a76..58b676d 100644
|
||||
+ return D3D_OK;
|
||||
+ }
|
||||
+
|
||||
WARN("Unknown pixel format %#x\n", d3dformat);
|
||||
WARN("Unknown pixel format %#x.\n", d3dformat);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
--
|
||||
2.6.4
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 27524b275c81c1c9057e4b4ca3d9cec734a3bd8a Mon Sep 17 00:00:00 2001
|
||||
From 846f2603e9d2a3a3b5a56b0e1140bb49a95053a6 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Thu, 7 Jun 2018 20:09:59 -0500
|
||||
Subject: [PATCH] server: Create server objects for eventfd-based
|
||||
@@ -7,10 +7,10 @@ Subject: [PATCH] server: Create server objects for eventfd-based
|
||||
---
|
||||
server/Makefile.in | 1 +
|
||||
server/esync.c | 318 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
server/esync.h | 22 +++
|
||||
server/esync.h | 24 ++++
|
||||
server/main.c | 4 +
|
||||
server/protocol.def | 25 +++-
|
||||
5 files changed, 369 insertions(+), 1 deletion(-)
|
||||
5 files changed, 371 insertions(+), 1 deletion(-)
|
||||
create mode 100644 server/esync.c
|
||||
create mode 100644 server/esync.h
|
||||
|
||||
@@ -352,10 +352,10 @@ index 00000000000..b9dbfa322bc
|
||||
+}
|
||||
diff --git a/server/esync.h b/server/esync.h
|
||||
new file mode 100644
|
||||
index 00000000000..7ca4ca89394
|
||||
index 00000000000..00f9e638d83
|
||||
--- /dev/null
|
||||
+++ b/server/esync.h
|
||||
@@ -0,0 +1,22 @@
|
||||
@@ -0,0 +1,24 @@
|
||||
+/*
|
||||
+ * eventfd-based synchronization objects
|
||||
+ *
|
||||
@@ -376,6 +376,8 @@ index 00000000000..7ca4ca89394
|
||||
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
+ */
|
||||
+
|
||||
+#include <unistd.h>
|
||||
+
|
||||
+extern int do_esync(void);
|
||||
+void esync_init(void);
|
||||
diff --git a/server/main.c b/server/main.c
|
||||
@@ -401,10 +403,10 @@ index a134d811d82..3436b0871b4 100644
|
||||
set_current_time();
|
||||
init_scheduler();
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index c413cc7d7bb..607d56a666c 100644
|
||||
index 6bfcda213a4..6b0e0e6f6e4 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -3733,7 +3733,6 @@ struct handle_info
|
||||
@@ -3738,7 +3738,6 @@ struct handle_info
|
||||
obj_handle_t handle; /* process handle */
|
||||
@END
|
||||
|
||||
@@ -412,7 +414,7 @@ index c413cc7d7bb..607d56a666c 100644
|
||||
/* Iterate thread list for process */
|
||||
@REQ(get_next_thread)
|
||||
obj_handle_t process; /* process handle */
|
||||
@@ -3744,3 +3743,27 @@ struct handle_info
|
||||
@@ -3749,3 +3748,27 @@ struct handle_info
|
||||
@REPLY
|
||||
obj_handle_t handle; /* next thread handle */
|
||||
@END
|
||||
@@ -441,5 +443,5 @@ index c413cc7d7bb..607d56a666c 100644
|
||||
+ unsigned int shm_idx;
|
||||
+@END
|
||||
--
|
||||
2.33.0
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 670ee9563c1021c05993ef8525a4661daa01d3dd Mon Sep 17 00:00:00 2001
|
||||
From dcb50e04b4ec205f4a6688c71a23cb2863cffce6 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Fri, 8 Jun 2018 21:01:24 -0500
|
||||
Subject: [PATCH] server: Create eventfd file descriptors for event objects.
|
||||
@@ -9,14 +9,14 @@ This lets system processes shut down.
|
||||
---
|
||||
server/esync.c | 8 ++++++++
|
||||
server/esync.h | 1 +
|
||||
server/event.c | 30 ++++++++++++++++++++++++++++--
|
||||
3 files changed, 37 insertions(+), 2 deletions(-)
|
||||
server/event.c | 29 +++++++++++++++++++++++++++--
|
||||
3 files changed, 36 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/server/esync.c b/server/esync.c
|
||||
index 2b9307267f9..975e5d2ddd6 100644
|
||||
index 6696119b207..8cb46c4f2ce 100644
|
||||
--- a/server/esync.c
|
||||
+++ b/server/esync.c
|
||||
@@ -331,6 +331,14 @@ void esync_wake_up( struct object *obj )
|
||||
@@ -329,6 +329,14 @@ void esync_wake_up( struct object *obj )
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,27 +32,19 @@ index 2b9307267f9..975e5d2ddd6 100644
|
||||
{
|
||||
struct esync *esync;
|
||||
diff --git a/server/esync.h b/server/esync.h
|
||||
index 1e12560ddd6..fcbfd0989bb 100644
|
||||
index 1241e6d9f1a..d259b5f604d 100644
|
||||
--- a/server/esync.h
|
||||
+++ b/server/esync.h
|
||||
@@ -22,3 +22,4 @@ extern int do_esync(void);
|
||||
@@ -24,3 +24,4 @@ extern int do_esync(void);
|
||||
void esync_init(void);
|
||||
int esync_create_fd( int initval, int flags );
|
||||
void esync_wake_up( struct object *obj );
|
||||
+void esync_clear( int fd );
|
||||
diff --git a/server/event.c b/server/event.c
|
||||
index c727bfdd1ba..69126abc096 100644
|
||||
index c727bfdd1ba..f1a88e3d23f 100644
|
||||
--- a/server/event.c
|
||||
+++ b/server/event.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
+#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "ntstatus.h"
|
||||
@@ -35,6 +36,7 @@
|
||||
@@ -35,6 +35,7 @@
|
||||
#include "thread.h"
|
||||
#include "request.h"
|
||||
#include "security.h"
|
||||
@@ -60,7 +52,7 @@ index c727bfdd1ba..69126abc096 100644
|
||||
|
||||
static const WCHAR event_name[] = {'E','v','e','n','t'};
|
||||
|
||||
@@ -56,13 +58,16 @@ struct event
|
||||
@@ -56,13 +57,16 @@ struct event
|
||||
struct list kernel_object; /* list of kernel object pointers */
|
||||
int manual_reset; /* is it a manual reset event? */
|
||||
int signaled; /* event has been signaled */
|
||||
@@ -77,7 +69,7 @@ index c727bfdd1ba..69126abc096 100644
|
||||
|
||||
static const struct object_ops event_ops =
|
||||
{
|
||||
@@ -72,7 +77,7 @@ static const struct object_ops event_ops =
|
||||
@@ -72,7 +76,7 @@ static const struct object_ops event_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
event_signaled, /* signaled */
|
||||
@@ -86,7 +78,7 @@ index c727bfdd1ba..69126abc096 100644
|
||||
event_satisfied, /* satisfied */
|
||||
event_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -86,7 +91,7 @@ static const struct object_ops event_ops =
|
||||
@@ -86,7 +90,7 @@ static const struct object_ops event_ops =
|
||||
no_open_file, /* open_file */
|
||||
event_get_kernel_obj_list, /* get_kernel_obj_list */
|
||||
no_close_handle, /* close_handle */
|
||||
@@ -95,7 +87,7 @@ index c727bfdd1ba..69126abc096 100644
|
||||
};
|
||||
|
||||
|
||||
@@ -152,6 +157,9 @@ struct event *create_event( struct object *root, const struct unicode_str *name,
|
||||
@@ -152,6 +156,9 @@ struct event *create_event( struct object *root, const struct unicode_str *name,
|
||||
list_init( &event->kernel_object );
|
||||
event->manual_reset = manual_reset;
|
||||
event->signaled = initial_state;
|
||||
@@ -105,7 +97,7 @@ index c727bfdd1ba..69126abc096 100644
|
||||
}
|
||||
}
|
||||
return event;
|
||||
@@ -180,6 +188,9 @@ void set_event( struct event *event )
|
||||
@@ -180,6 +187,9 @@ void set_event( struct event *event )
|
||||
void reset_event( struct event *event )
|
||||
{
|
||||
event->signaled = 0;
|
||||
@@ -115,7 +107,7 @@ index c727bfdd1ba..69126abc096 100644
|
||||
}
|
||||
|
||||
static void event_dump( struct object *obj, int verbose )
|
||||
@@ -197,6 +208,13 @@ static int event_signaled( struct object *obj, struct wait_queue_entry *entry )
|
||||
@@ -197,6 +207,13 @@ static int event_signaled( struct object *obj, struct wait_queue_entry *entry )
|
||||
return event->signaled;
|
||||
}
|
||||
|
||||
@@ -129,7 +121,7 @@ index c727bfdd1ba..69126abc096 100644
|
||||
static void event_satisfied( struct object *obj, struct wait_queue_entry *entry )
|
||||
{
|
||||
struct event *event = (struct event *)obj;
|
||||
@@ -225,6 +243,14 @@ static struct list *event_get_kernel_obj_list( struct object *obj )
|
||||
@@ -225,6 +242,14 @@ static struct list *event_get_kernel_obj_list( struct object *obj )
|
||||
return &event->kernel_object;
|
||||
}
|
||||
|
||||
@@ -145,5 +137,5 @@ index c727bfdd1ba..69126abc096 100644
|
||||
unsigned int attr, const struct security_descriptor *sd )
|
||||
{
|
||||
--
|
||||
2.33.0
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,14 +1,14 @@
|
||||
From a273680e7cbdc66e9fdb6fd6482803ddfed94dca Mon Sep 17 00:00:00 2001
|
||||
From 0d55971a114d650b7826e01e43ccd3a60597fefd Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <zfigura@codeweavers.com>
|
||||
Date: Mon, 6 Jul 2020 16:01:56 -0500
|
||||
Subject: [PATCH] server: Create eventfd file descriptors for message queues.
|
||||
|
||||
---
|
||||
server/queue.c | 29 ++++++++++++++++++++++++++++-
|
||||
1 file changed, 28 insertions(+), 1 deletion(-)
|
||||
server/queue.c | 30 +++++++++++++++++++++++++++++-
|
||||
1 file changed, 29 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/server/queue.c b/server/queue.c
|
||||
index b6decc521e9..e70c0f5ad81 100644
|
||||
index b6decc521e9..23fb338924e 100644
|
||||
--- a/server/queue.c
|
||||
+++ b/server/queue.c
|
||||
@@ -41,6 +41,7 @@
|
||||
@@ -85,7 +85,15 @@ index b6decc521e9..e70c0f5ad81 100644
|
||||
static void msg_queue_satisfied( struct object *obj, struct wait_queue_entry *entry )
|
||||
{
|
||||
struct msg_queue *queue = (struct msg_queue *)obj;
|
||||
@@ -2485,6 +2502,9 @@ DECL_HANDLER(set_queue_mask)
|
||||
@@ -1090,6 +1107,7 @@ static void msg_queue_destroy( struct object *obj )
|
||||
release_object( queue->input );
|
||||
if (queue->hooks) release_object( queue->hooks );
|
||||
if (queue->fd) release_object( queue->fd );
|
||||
+ if (do_esync()) close( queue->esync_fd );
|
||||
}
|
||||
|
||||
static void msg_queue_poll_event( struct fd *fd, int event )
|
||||
@@ -2485,6 +2503,9 @@ DECL_HANDLER(set_queue_mask)
|
||||
if (req->skip_wait) queue->wake_mask = queue->changed_mask = 0;
|
||||
else wake_up( &queue->obj, 0 );
|
||||
}
|
||||
@@ -95,7 +103,7 @@ index b6decc521e9..e70c0f5ad81 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2498,6 +2518,9 @@ DECL_HANDLER(get_queue_status)
|
||||
@@ -2498,6 +2519,9 @@ DECL_HANDLER(get_queue_status)
|
||||
reply->wake_bits = queue->wake_bits;
|
||||
reply->changed_bits = queue->changed_bits;
|
||||
queue->changed_bits &= ~req->clear_bits;
|
||||
@@ -105,7 +113,7 @@ index b6decc521e9..e70c0f5ad81 100644
|
||||
}
|
||||
else reply->wake_bits = reply->changed_bits = 0;
|
||||
}
|
||||
@@ -2746,6 +2769,10 @@ DECL_HANDLER(get_message)
|
||||
@@ -2746,6 +2770,10 @@ DECL_HANDLER(get_message)
|
||||
queue->wake_mask = req->wake_mask;
|
||||
queue->changed_mask = req->changed_mask;
|
||||
set_error( STATUS_PENDING ); /* FIXME */
|
||||
@@ -117,5 +125,5 @@ index b6decc521e9..e70c0f5ad81 100644
|
||||
|
||||
found_msg:
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 3518ce5bf3c6010425f35bb228b3fb2b238b1726 Mon Sep 17 00:00:00 2001
|
||||
From 8111350c608821aa86c6acfb4959446abf97d382 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Sat, 9 Jun 2018 15:39:37 -0500
|
||||
Subject: [PATCH] server: Create eventfd descriptors for device manager
|
||||
@@ -11,22 +11,14 @@ process.
|
||||
This lets drivers like mountmgr finally work, and so winecfg can open the
|
||||
Drives tab.
|
||||
---
|
||||
server/device.c | 25 ++++++++++++++++++++++++-
|
||||
1 file changed, 24 insertions(+), 1 deletion(-)
|
||||
server/device.c | 24 +++++++++++++++++++++++-
|
||||
1 file changed, 23 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/server/device.c b/server/device.c
|
||||
index 80904d33d0d..2a7727f05ae 100644
|
||||
index f730fa81afa..c45d0102a56 100644
|
||||
--- a/server/device.c
|
||||
+++ b/server/device.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
#include "ntstatus.h"
|
||||
#define WIN32_NO_STATUS
|
||||
@@ -38,6 +39,7 @@
|
||||
@@ -38,6 +38,7 @@
|
||||
#include "handle.h"
|
||||
#include "request.h"
|
||||
#include "process.h"
|
||||
@@ -34,7 +26,7 @@ index 80904d33d0d..2a7727f05ae 100644
|
||||
|
||||
/* IRP object */
|
||||
|
||||
@@ -93,10 +95,12 @@ struct device_manager
|
||||
@@ -93,10 +94,12 @@ struct device_manager
|
||||
struct list requests; /* list of pending irps across all devices */
|
||||
struct irp_call *current_call; /* call currently executed on client side */
|
||||
struct wine_rb_tree kernel_objects; /* map of objects that have client side pointer associated */
|
||||
@@ -47,7 +39,7 @@ index 80904d33d0d..2a7727f05ae 100644
|
||||
static void device_manager_destroy( struct object *obj );
|
||||
|
||||
static const struct object_ops device_manager_ops =
|
||||
@@ -107,7 +111,7 @@ static const struct object_ops device_manager_ops =
|
||||
@@ -107,7 +110,7 @@ static const struct object_ops device_manager_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
device_manager_signaled, /* signaled */
|
||||
@@ -56,7 +48,7 @@ index 80904d33d0d..2a7727f05ae 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -751,6 +755,9 @@ static void delete_file( struct device_file *file )
|
||||
@@ -751,6 +754,9 @@ static void delete_file( struct device_file *file )
|
||||
/* terminate all pending requests */
|
||||
LIST_FOR_EACH_ENTRY_SAFE( irp, next, &file->requests, struct irp_call, dev_entry )
|
||||
{
|
||||
@@ -66,7 +58,7 @@ index 80904d33d0d..2a7727f05ae 100644
|
||||
list_remove( &irp->mgr_entry );
|
||||
set_irp_result( irp, STATUS_FILE_DELETED, NULL, 0, 0 );
|
||||
}
|
||||
@@ -786,6 +793,13 @@ static int device_manager_signaled( struct object *obj, struct wait_queue_entry
|
||||
@@ -786,6 +792,13 @@ static int device_manager_signaled( struct object *obj, struct wait_queue_entry
|
||||
return !list_empty( &manager->requests );
|
||||
}
|
||||
|
||||
@@ -80,7 +72,7 @@ index 80904d33d0d..2a7727f05ae 100644
|
||||
static void device_manager_destroy( struct object *obj )
|
||||
{
|
||||
struct device_manager *manager = (struct device_manager *)obj;
|
||||
@@ -820,6 +834,9 @@ static void device_manager_destroy( struct object *obj )
|
||||
@@ -820,6 +833,9 @@ static void device_manager_destroy( struct object *obj )
|
||||
assert( !irp->file && !irp->async );
|
||||
release_object( irp );
|
||||
}
|
||||
@@ -90,7 +82,7 @@ index 80904d33d0d..2a7727f05ae 100644
|
||||
}
|
||||
|
||||
static struct device_manager *create_device_manager(void)
|
||||
@@ -832,6 +849,9 @@ static struct device_manager *create_device_manager(void)
|
||||
@@ -832,6 +848,9 @@ static struct device_manager *create_device_manager(void)
|
||||
list_init( &manager->devices );
|
||||
list_init( &manager->requests );
|
||||
wine_rb_init( &manager->kernel_objects, compare_kernel_object );
|
||||
@@ -100,7 +92,7 @@ index 80904d33d0d..2a7727f05ae 100644
|
||||
}
|
||||
return manager;
|
||||
}
|
||||
@@ -1019,6 +1039,9 @@ DECL_HANDLER(get_next_device_request)
|
||||
@@ -1021,6 +1040,9 @@ DECL_HANDLER(get_next_device_request)
|
||||
/* we already own the object if it's only on manager queue */
|
||||
if (irp->file) grab_object( irp );
|
||||
manager->current_call = irp;
|
||||
@@ -111,5 +103,5 @@ index 80904d33d0d..2a7727f05ae 100644
|
||||
else close_handle( current->process, reply->next );
|
||||
}
|
||||
--
|
||||
2.33.0
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,17 +1,17 @@
|
||||
From 1ad0cfe6a328fd4ffdbce2c61e1cc7c822391734 Mon Sep 17 00:00:00 2001
|
||||
From 543476e8a53d41c69e89fbaa7d9cee8a48059944 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Fri, 15 Jun 2018 11:01:44 -0500
|
||||
Subject: [PATCH] server: Create eventfd descriptors for timers.
|
||||
|
||||
---
|
||||
server/timer.c | 19 ++++++++++++++++++-
|
||||
1 file changed, 18 insertions(+), 1 deletion(-)
|
||||
server/timer.c | 20 +++++++++++++++++++-
|
||||
1 file changed, 19 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/server/timer.c b/server/timer.c
|
||||
index 23d03aa3582..43b40a13032 100644
|
||||
index f59902d5607..36645a2a8d2 100644
|
||||
--- a/server/timer.c
|
||||
+++ b/server/timer.c
|
||||
@@ -36,6 +36,7 @@
|
||||
@@ -35,6 +35,7 @@
|
||||
#include "file.h"
|
||||
#include "handle.h"
|
||||
#include "request.h"
|
||||
@@ -19,7 +19,7 @@ index 23d03aa3582..43b40a13032 100644
|
||||
|
||||
static const WCHAR timer_name[] = {'T','i','m','e','r'};
|
||||
|
||||
@@ -62,10 +63,12 @@ struct timer
|
||||
@@ -61,10 +62,12 @@ struct timer
|
||||
struct thread *thread; /* thread that set the APC function */
|
||||
client_ptr_t callback; /* callback APC function */
|
||||
client_ptr_t arg; /* callback argument */
|
||||
@@ -32,7 +32,7 @@ index 23d03aa3582..43b40a13032 100644
|
||||
static void timer_satisfied( struct object *obj, struct wait_queue_entry *entry );
|
||||
static void timer_destroy( struct object *obj );
|
||||
|
||||
@@ -77,7 +80,7 @@ static const struct object_ops timer_ops =
|
||||
@@ -76,7 +79,7 @@ static const struct object_ops timer_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
timer_signaled, /* signaled */
|
||||
@@ -41,7 +41,7 @@ index 23d03aa3582..43b40a13032 100644
|
||||
timer_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -112,6 +115,10 @@ static struct timer *create_timer( struct object *root, const struct unicode_str
|
||||
@@ -111,6 +114,10 @@ static struct timer *create_timer( struct object *root, const struct unicode_str
|
||||
timer->period = 0;
|
||||
timer->timeout = NULL;
|
||||
timer->thread = NULL;
|
||||
@@ -52,7 +52,7 @@ index 23d03aa3582..43b40a13032 100644
|
||||
}
|
||||
}
|
||||
return timer;
|
||||
@@ -185,6 +192,9 @@ static int set_timer( struct timer *timer, timeout_t expire, unsigned int period
|
||||
@@ -182,6 +189,9 @@ static int set_timer( struct timer *timer, timeout_t expire, unsigned int period
|
||||
{
|
||||
period = 0; /* period doesn't make any sense for a manual timer */
|
||||
timer->signaled = 0;
|
||||
@@ -62,7 +62,7 @@ index 23d03aa3582..43b40a13032 100644
|
||||
}
|
||||
timer->when = (expire <= 0) ? expire - monotonic_time : max( expire, current_time );
|
||||
timer->period = period;
|
||||
@@ -212,6 +222,13 @@ static int timer_signaled( struct object *obj, struct wait_queue_entry *entry )
|
||||
@@ -209,6 +219,13 @@ static int timer_signaled( struct object *obj, struct wait_queue_entry *entry )
|
||||
return timer->signaled;
|
||||
}
|
||||
|
||||
@@ -76,6 +76,14 @@ index 23d03aa3582..43b40a13032 100644
|
||||
static void timer_satisfied( struct object *obj, struct wait_queue_entry *entry )
|
||||
{
|
||||
struct timer *timer = (struct timer *)obj;
|
||||
@@ -223,6 +240,7 @@ static void timer_destroy( struct object *obj )
|
||||
|
||||
if (timer->timeout) remove_timeout_user( timer->timeout );
|
||||
if (timer->thread) release_object( timer->thread );
|
||||
+ if (do_esync()) close( timer->esync_fd );
|
||||
}
|
||||
|
||||
/* create a timer */
|
||||
--
|
||||
2.20.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,14 +1,14 @@
|
||||
From fa9bbbaa8630c4b259e287437a627e226c1c34da Mon Sep 17 00:00:00 2001
|
||||
From 6adfd0593d10cc9ec8ed8364de167d40ee2098ce Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Sat, 17 Oct 2020 19:13:16 -0500
|
||||
Subject: [PATCH] server: Create esync file descriptors for console servers.
|
||||
|
||||
---
|
||||
server/console.c | 36 ++++++++++++++++++++++++++++--------
|
||||
1 file changed, 28 insertions(+), 8 deletions(-)
|
||||
server/console.c | 37 +++++++++++++++++++++++++++++--------
|
||||
1 file changed, 29 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/server/console.c b/server/console.c
|
||||
index e7c97e99579..98ac09efc3f 100644
|
||||
index ae5d84f7a06..3f9c0ce356c 100644
|
||||
--- a/server/console.c
|
||||
+++ b/server/console.c
|
||||
@@ -41,6 +41,7 @@
|
||||
@@ -67,7 +67,15 @@ index e7c97e99579..98ac09efc3f 100644
|
||||
while (!list_empty( &server->read_queue ))
|
||||
{
|
||||
struct console_host_ioctl *call = LIST_ENTRY( list_head( &server->read_queue ), struct console_host_ioctl, entry );
|
||||
@@ -897,6 +902,13 @@ static int console_server_signaled( struct object *obj, struct wait_queue_entry
|
||||
@@ -877,6 +882,7 @@ static void console_server_destroy( struct object *obj )
|
||||
assert( obj->ops == &console_server_ops );
|
||||
disconnect_console_server( server );
|
||||
if (server->fd) release_object( server->fd );
|
||||
+ if (do_esync()) close( server->esync_fd );
|
||||
}
|
||||
|
||||
static struct object *console_server_lookup_name( struct object *obj, struct unicode_str *name,
|
||||
@@ -918,6 +924,13 @@ static int console_server_signaled( struct object *obj, struct wait_queue_entry
|
||||
return !server->console || !list_empty( &server->queue );
|
||||
}
|
||||
|
||||
@@ -81,7 +89,7 @@ index e7c97e99579..98ac09efc3f 100644
|
||||
static struct fd *console_server_get_fd( struct object* obj )
|
||||
{
|
||||
struct console_server *server = (struct console_server*)obj;
|
||||
@@ -928,6 +940,10 @@ static struct object *create_console_server( void )
|
||||
@@ -949,6 +962,10 @@ static struct object *create_console_server( void )
|
||||
return NULL;
|
||||
}
|
||||
allow_fd_caching(server->fd);
|
||||
@@ -92,7 +100,7 @@ index e7c97e99579..98ac09efc3f 100644
|
||||
|
||||
return &server->obj;
|
||||
}
|
||||
@@ -1513,6 +1529,8 @@ DECL_HANDLER(get_next_console_request)
|
||||
@@ -1562,6 +1579,8 @@ DECL_HANDLER(get_next_console_request)
|
||||
/* set result of previous ioctl */
|
||||
ioctl = LIST_ENTRY( list_head( &server->queue ), struct console_host_ioctl, entry );
|
||||
list_remove( &ioctl->entry );
|
||||
@@ -101,7 +109,7 @@ index e7c97e99579..98ac09efc3f 100644
|
||||
}
|
||||
|
||||
if (ioctl)
|
||||
@@ -1598,6 +1616,8 @@ DECL_HANDLER(get_next_console_request)
|
||||
@@ -1647,6 +1666,8 @@ DECL_HANDLER(get_next_console_request)
|
||||
{
|
||||
set_error( STATUS_PENDING );
|
||||
}
|
||||
@@ -111,5 +119,5 @@ index e7c97e99579..98ac09efc3f 100644
|
||||
release_object( server );
|
||||
}
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From cad538b5197b0488f50d10eb58fa1b220e7d05dc Mon Sep 17 00:00:00 2001
|
||||
From de8040e1a8900116a6a3fa0f0560e4a3c66d4d71 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 5 Aug 2017 03:39:23 +0200
|
||||
Subject: [PATCH] ntdll: Use fast CS functions for heap locking.
|
||||
@@ -8,7 +8,7 @@ Subject: [PATCH] ntdll: Use fast CS functions for heap locking.
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
|
||||
index d7ac44a4247..3fd02770b7b 100644
|
||||
index 51567d0552b..b1dcb01cd4f 100644
|
||||
--- a/dlls/ntdll/heap.c
|
||||
+++ b/dlls/ntdll/heap.c
|
||||
@@ -340,13 +340,13 @@ static inline ULONG heap_get_flags( const HEAP *heap, ULONG flags )
|
||||
@@ -26,8 +26,8 @@ index d7ac44a4247..3fd02770b7b 100644
|
||||
+ leave_critical_section( &heap->cs );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
@@ -1583,9 +1583,9 @@ HANDLE WINAPI RtlCreateHeap( ULONG flags, PVOID addr, SIZE_T totalSize, SIZE_T c
|
||||
static void heap_set_status( const HEAP *heap, ULONG flags, NTSTATUS status )
|
||||
@@ -1577,9 +1577,9 @@ HANDLE WINAPI RtlCreateHeap( ULONG flags, PVOID addr, SIZE_T totalSize, SIZE_T c
|
||||
if (processHeap)
|
||||
{
|
||||
HEAP *heapPtr = subheap->heap;
|
||||
@@ -39,7 +39,7 @@ index d7ac44a4247..3fd02770b7b 100644
|
||||
}
|
||||
else if (!addr)
|
||||
{
|
||||
@@ -1629,9 +1629,9 @@ HANDLE WINAPI RtlDestroyHeap( HANDLE heap )
|
||||
@@ -1623,9 +1623,9 @@ HANDLE WINAPI RtlDestroyHeap( HANDLE heap )
|
||||
if (heap == processHeap) return heap; /* cannot delete the main process heap */
|
||||
|
||||
/* remove it from the per-process list */
|
||||
@@ -51,7 +51,7 @@ index d7ac44a4247..3fd02770b7b 100644
|
||||
|
||||
heapPtr->cs.DebugInfo->Spare[0] = 0;
|
||||
RtlDeleteCriticalSection( &heapPtr->cs );
|
||||
@@ -2242,7 +2242,7 @@ ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps )
|
||||
@@ -2171,7 +2171,7 @@ ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps )
|
||||
ULONG total = 1; /* main heap */
|
||||
struct list *ptr;
|
||||
|
||||
@@ -60,7 +60,7 @@ index d7ac44a4247..3fd02770b7b 100644
|
||||
LIST_FOR_EACH( ptr, &processHeap->entry ) total++;
|
||||
if (total <= count)
|
||||
{
|
||||
@@ -2250,7 +2250,7 @@ ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps )
|
||||
@@ -2179,7 +2179,7 @@ ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps )
|
||||
LIST_FOR_EACH( ptr, &processHeap->entry )
|
||||
*heaps++ = LIST_ENTRY( ptr, HEAP, entry );
|
||||
}
|
||||
|
@@ -51,13 +51,13 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "3ded60bd1654dc689d24a23305f4a93acce3a6f2"
|
||||
echo "230e953e31f7228d10c8b0a0d2e8cf4f9af9a231"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
version()
|
||||
{
|
||||
echo "Wine Staging 7.8"
|
||||
echo "Wine Staging 7.9"
|
||||
echo "Copyright (C) 2014-2019 the Wine Staging project authors."
|
||||
echo "Copyright (C) 2018-2020 Alistair Leslie-Hughes"
|
||||
echo ""
|
||||
@@ -92,7 +92,6 @@ patch_enable_all ()
|
||||
enable_comdlg32_lpstrFileTitle="$1"
|
||||
enable_crypt32_CMS_Certificates="$1"
|
||||
enable_cryptext_CryptExtOpenCER="$1"
|
||||
enable_d3drm_IDirect3D3_support="$1"
|
||||
enable_d3dx11_43_D3DX11CreateTextureFromMemory="$1"
|
||||
enable_d3dx9_36_BumpLuminance="$1"
|
||||
enable_d3dx9_36_D3DXDisassembleShader="$1"
|
||||
@@ -302,9 +301,6 @@ patch_enable ()
|
||||
cryptext-CryptExtOpenCER)
|
||||
enable_cryptext_CryptExtOpenCER="$2"
|
||||
;;
|
||||
d3drm-IDirect3D3-support)
|
||||
enable_d3drm_IDirect3D3_support="$2"
|
||||
;;
|
||||
d3dx11_43-D3DX11CreateTextureFromMemory)
|
||||
enable_d3dx11_43_D3DX11CreateTextureFromMemory="$2"
|
||||
;;
|
||||
@@ -1492,18 +1488,6 @@ if test "$enable_cryptext_CryptExtOpenCER" -eq 1; then
|
||||
patch_apply cryptext-CryptExtOpenCER/0001-cryptext-Implement-CryptExtOpenCER.patch
|
||||
fi
|
||||
|
||||
# Patchset d3drm-IDirect3D3-support
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#39346] Support IDirect3D3 when creating device.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/d3drm/device.c
|
||||
# |
|
||||
if test "$enable_d3drm_IDirect3D3_support" -eq 1; then
|
||||
patch_apply d3drm-IDirect3D3-support/0001-d3drm-Support-IDirect3D3-when-creating-device.patch
|
||||
fi
|
||||
|
||||
# Patchset d3dx11_43-D3DX11CreateTextureFromMemory
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@@ -1,2 +1,2 @@
|
||||
Wine Staging 7.8
|
||||
Wine Staging 7.9
|
||||
|
||||
|
@@ -1 +1 @@
|
||||
3ded60bd1654dc689d24a23305f4a93acce3a6f2
|
||||
230e953e31f7228d10c8b0a0d2e8cf4f9af9a231
|
||||
|
Reference in New Issue
Block a user